我试图将我的uwsgi配置设置为记录到特定文件,但看起来不起作用,我发现当uwsgi启动它时运行此命令:
/ usr / bin / uwsgi --ini /usr/share/uwsgi/conf/default.ini --ini /etc/uwsgi/apps-enabled/notescor.com.ini --daemonize / var / log / uwsgi /app/notescor.com.log
这是启用了应用程序的文件夹中的.ini文件:
[uwsgi]
chdir = /srv/notescor.com/www/src
pythonpath = /var/www/.virtualenvs/notescor.com/lib/python2.7/site-packages
env = DJANGO_SETTINGS_MODULE=settings
module = django.core.wsgi:get_wsgi_application()
logto = /srv/notescor.com/log/uwsgi/uwsgi.log
daemonize = /srv/notescor.com/log/uwsgi/uwsgi.log
no-site = true
master = true
workers = 16
socket = /run/uwsgi/app/notescor.com/socket
chmod-socket = 664
vacuum = true
看起来有些东西超过了我的ini日志配置,命令将其覆盖到/srv/notescor.com/log/uwsgi/uwsgi.log。 PS。 /srv/notescor.com/log/uwsgi文件夹有www-data:www-data permissions,这是我的uwsgi运行的地方
答案 0 :(得分:0)
这是由uwsgi包附带的uwsgi init函数管理的。
您可以在Ubuntu /usr/share/uwsgi/init/specific_daemon
中的此路径中找到它:
- “$ {CONFFILE_OPTION_NAME}”“$ {CONFFILE}”\
- daemonize“/var/log/uwsgi/${CONFNAMESPACE}/${CONFNAME}.log”\
应该像这样用ini文件超越daemonize
选项。
- daemonize“/var/log/uwsgi/${CONFNAMESPACE}/${CONFNAME}.log”\
- “$ {CONFFILE_OPTION_NAME}”“$ {CONFFILE}”\
因此,只需编辑此文件(或在使用CM工具时进行管理)。
或者更好的解决方案是摆脱所有这些,并使用像Supervisord
这样的过程控制系统: - )