【发布时间】:2017-07-15 13:23:49
【问题描述】:
我用 uwsgi、supervisor 和 nginx 部署我的 django 项目。 但我已经在 /etc/supervisord.conf 中添加了我上面的程序。
[program:JZAssist]
command=-E uwsgi --ini /home/work/xxxx/uwsgi.ini
directory=/home/work/xxxx
startsecs=0
stopwaitsecs=0
autostart=true
autorestart=true
而我的 uwsgi.ini 内容是:
[uwsgi]
socket = :8000
chdir = /home/work/xxxx
module = xxxx.wsgi
master = true
processes = 4
vacuum = true
xxxx 是我的项目名称。
我在 cmd 中运行 supervisorctl -c /etc/supervisord.conf restart all。
它显示了
xxxx: ERROR (no such file)
/tmp/supervisord.log部分内容:
2017-02-24 23:31:41,433 INFO gave up: JZAssist entered FATAL state, too many start retries too quickly
2017-02-24 23:52:29,940 WARN Failed to clean up '/tmp/JZAssist-stderr---supervisor-goPZyS.log'
2017-02-24 23:52:29,940 WARN Failed to clean up '/tmp/JZAssist-stdout---supervisor-WtfJcp.log'
2017-02-24 23:52:57,535 WARN Failed to clean up '/tmp/JZAssist-stderr---supervisor-goPZyS.log'
2017-02-24 23:52:57,535 WARN Failed to clean up '/tmp/JZAssist-stdout---supervisor-WtfJcp.log'
2017-02-24 23:52:57,541 INFO RPC interface 'supervisor' initialized
2017-02-24 23:52:57,541 CRIT Server 'unix_http_server' running without any HTTP authentication checking
2017-02-24 23:52:57,542 INFO daemonizing the supervisord process
2017-02-24 23:52:57,543 CRIT could not write pidfile /tmp/supervisord.pid
2017-02-24 23:52:58,544 INFO spawnerr: can't find command '-E'
2017-02-24 23:52:59,546 INFO spawnerr: can't find command '-E'
2017-02-25 00:46:59,234 WARN Failed to clean up '/tmp/JZAssist-stderr---supervisor-goPZyS.log'
2017-02-25 00:46:59,234 WARN Failed to clean up '/tmp/JZAssist-stdout---supervisor-WtfJcp.log'
我不知道为什么会报这样的错误。我可以用runserver运行我的django项目。那么文件丢失了什么?
【问题讨论】:
-
命令中的第一个
-E元素是什么? -
我在使用SUDO时使用-E来保留环境变量
-
你的日志文件内容是什么,supervisor的日志级别是什么?
-
loglevel=info,以及我上面添加的日志
标签: django nginx supervisord django-supervisor