无法使用gunicorn和主管部署django

时间:2015-05-20 02:38:39

标签: django gunicorn django-deployment

我尝试使用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)

错误日志中没有任何内容可以帮助您。我用谷歌搜索了这个问题已经绊倒了我一段时间。所以我感谢您帮助解决它。

1 个答案:

答案 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"

请参阅Supervising virtualenv django app via supervisor