1

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

错误日志中没有任何帮助。我在谷歌上搜索了一下,这个问题已经让我绊倒了一段时间。因此,我感谢您帮助解决它。

4

1 回答 1

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"

请参阅通过主管监督 virtualenv django 应用程序

于 2016-07-21T16:56:48.757 回答