为什么我的 Django / uWSGI vassal 日志是空的?

Why are my Django / uWSGI vassal logs empty?

我是运行我的Django站点,是UWSGI emperor的附庸。我创建了 /etc/uwsgi-emperor/vassals/mysite.ini 如下:

[uwsgi]
socket = /var/opt/mysite/uwsgi.sock
chmod-socket = 775
chdir = /opt/mysite
master = true
virtualenv = /opt/mysite_virtualenv
env = DJANGO_SETTINGS_MODULE=mysite.settings
module = mysite.wsgi:application
uid = www-data
gid = www-data
processes = 1
threads = 1
plugins = python3,logfile
logger = file:/var/log/uwsgi/app/mysite.log
vacuum = true

但是 /var/log/uwsgi/app/mysite.log 没有被创建。如果我 touch 它,它仍然是空的。即使在我在应用程序中触发 500 式错误后,也会出现这种情况。

为什么我的日志没有被写入?

vassal 没有写入文件的权限(或首先创建文件)。你应该

cd /var/log/uwsgi/app
touch mysite.log # create the file
chown www-data:www-data mysite.log # give the vassal permission

(其中 www-data:www-data 与您的 ini 文件中的 uid 和 gid 值匹配)。

日志将很快开始出现。