我尝试使用gunicorn / nginx作为webserserver部署django项目。当我在virtualevn中运行此命令时,该项目完全正常:
(.zenv)randi@server:/srv/myproj$ gunicorn --bind 127.0.0.1:8000 myproj.wsgi:application
然而,当我添加virtualenv激活&以上命令/etc/supervisor/conf.d/myproj.conf
:
[program:myproj]
directory = /srv/myproj
user = randi
command = source /home/randi/.zenv/bin/activate && gunicorn --bind 127.0.0.1:8000 myproj.wsgi:application
autorestart=true
redirect_stderr=true
stdout_logfile = /var/log/supervisor/access.log
stderr_logfile = /var/log/supervisor/error.log
启动主管supervisorctl start all
(以root身份)后,我得到:
myproj: ERROR (abnormal termination)
和supervisor status
给出:
myproj FATAL Exited too quickly (process log may have details)
错误日志中没有任何内容可以帮助您。我用谷歌搜索了这个问题已经绊倒了我一段时间。所以我感谢您帮助解决它。
答案 0 :(得分:0)
这里的问题是source
未知。
尝试在前台运行supervisord(将此添加到您的conf中):
[supervisord]
nodaemon=true
并启动supervisord(如果需要-c path-to-.conf
标志,-n
没有守护进程)。
我收到此错误消息:
2016-07-21 18:54:16,030 INFO spawnerr: can't find command 'source'
解决方案是直接使用environment
条目修改路径,但我无法使其工作。
environment=PATH="/path/to/venv/bin"