gunicorn: сброс владельца каталога файлов журнала при перезагрузке?

У меня есть капля, размещенная в Digital Ocean под управлением Ubuntu 14.04.

У меня есть каталог журналов Gunicorn, который я сделал для хранения файлов журналов, и он работает только в том случае, если владельцем является пользователь, который запускает процесс gunicorn.

Да ...

chown user gunicorn

, но это длится только до перезагрузки, после чего право собственности возвращается к пользователю root, а группа - adm. Я запускаю процесс django и не знаю, что делать. Как я могу изменить своего нового владельца постоянным или добавить пользователя в группу adm тоже работает?

путь к каталогу ...

/var/log/gunicorn

ls -la каталог gunicorn ...

drwxr-x---  2 root   adm        4096 Jan 30 20:08 .
drwxrwxr-x 12 root   syslog     4096 Jan 31 03:06 ..
-rw-r--r--  1 django django    73747 Jan 31 02:34 access.log
-rw-r--r--  1 django django 97698592 Jan 31 03:05 error.log

mount output ..

/dev/vda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
none on /sys/fs/pstore type pstore (rw)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)

ls -la / var / log | grep gunicorn ...

drwxr-x---  2 root      adm           4096 Jan 30 20:08 gunicorn

/etc/init/gunicorn.conf ...

description "Gunicorn daemon for Django project"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

# If the process quits unexpectadly trigger a respawn
respawn

setuid django
setgid django
chdir /home/django

exec venv/bin/gunicorn \
    --name=langalang \
    --pythonpath=langalang \
    --bind=0.0.0.0:9000 \
    --config /etc/gunicorn.d/gunicorn.py \
    langalang.wsgi:application

/etc/gunicorn.d/cunicorn.py ...

"""gunicorn WSGI server configuration."""
from multiprocessing import cpu_count
from os import environ


def max_workers():
    return cpu_count() * 2 + 1

max_requests = 1000
worker_class = 'gevent'
workers = max_workers()
errorlog = '/var/log/gunicorn/error.log'
accesslog = '/var/log/gunicorn/access.log'
0
31.01.2016, 10:51
0 ответов

Теги

Похожие вопросы