uWSGI在启动时无法启动

时间:2018-01-20 13:50:50

标签: uwsgi

我有以下/etc/init/uwsgi.conf

description "uWSGI"
start on runlevel [2345]
stop on runlevel [06]
respawn

env UWSGI=/var/www/my_project/venv/bin/uwsgi
env LOGTO=/var/log/uwsgi/emperor.log

exec $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --uid www-data --gid www-data --logto $LOGTO

据我所知,这是最佳做法here

我也有/etc/uwsgi/vassals/my_project_uwsgi.ini

[uwsgi]
#application's base folder
base = /var/www/my_project

#python module to import
app = server
module = %(app)

home = %(base)/venv
pythonpath = %(base)

#socket file's location
socket = /var/www/my_project/%n.sock

#permissions for the socket file
chmod-socket    = 666

callable = app

#location of log files
logto = /var/log/uwsgi/%n.log

processes = 10

现在,是不是uWSGI在启动时没有被调用,或者整体配置是否有问题? (uWSGI配置,nginx配置,我的app逻辑,文件权限等?)

我认为init脚本根本就没有运行。我认为这是因为当我手动运行init脚本时,即# /var/www/my_project/venv/bin/uwsgi --master --emperor /etc/uwsgi/vassals --die-on-term --uid www-data --gid www-data --logto /var/log/uwsgi/emperor.log然后一切正常。另一方面,当我重启机器# reboot时,似乎什么都没发生。 uWSGI在重启后没有运行,更重要的是,NOTHING写在/var/log/uwsgi/emperor.log上。根据我对uWSGI的经验,如果您遇到配置错误,仍然会向emperor.log写入一些内容。因此,我得出结论,/etc/init/uwsgi.conf并非在启动时运行。

我如何检查并修复它?

编辑:更新。试过sudo apt install upstart。另外this说新贵需要inotify来检测/etc/init中文件的变化,所以我也做了sudo apt install inotify-tools。但是我的脚本仍然没有在启动时运行。

1 个答案:

答案 0 :(得分:1)

这解决了它

apt install upstart-sysv

灵感来自this(根据"永久切换回新贵)