Python 主管无法启动Gunicorn:eNONT

Python 主管无法启动Gunicorn:eNONT,python,django,virtualenv,gunicorn,supervisord,Python,Django,Virtualenv,Gunicorn,Supervisord,我已经使用gunicorn和nginx部署了Django。django项目位于虚拟环境中。当我跑步时,一切都很顺利- gunicorn mydjangoproject.wsgi-c gunicorn_config.py 我正在Django项目文件夹中运行上述命令,其中包含manage.py,虚拟环境处于活动状态 但是现在我想关闭服务器终端,并希望gunicorn自动运行。为此,我使用主管。我已经使用apt get安装了supervisor,并在supervisor的conf.d中创建了一个gun

我已经使用gunicorn和nginx部署了Django。django项目位于虚拟环境中。当我跑步时,一切都很顺利-

gunicorn mydjangoproject.wsgi-c gunicorn_config.py

我正在Django项目文件夹中运行上述命令,其中包含manage.py,虚拟环境处于活动状态

但是现在我想关闭服务器终端,并希望gunicorn自动运行。为此,我使用主管。我已经使用apt get安装了supervisor,并在supervisor的conf.d中创建了一个gunicorn.conf文件

但当我运行supervisorctl start gunicorn时,我遇到了一个致命错误-
gunicorn:错误(异常终止)

所以检查了日志文件,上面写着-

主管:无法执行root/ervirtualenpy2/bin/gunicorn:enoint
未生成子进程

我的supervisor的gunicorn.conf配置文件如下所示-

[program:gunicorn]
command = root/ervirtualenvpy2/bin/gunicorn myproject.wsgi -c     root/path/to/the/gunicorn_conf.py/file
directory = root/ervirtualenvpy2/path/to/myproject/
user=root
autorestart=true

按照您所说的和您的配置,除了您指定的是相对路径而不是绝对路径之外,其他一切似乎都是正确的:

见古尼科恩

相反,它应该是:

[program:gunicorn]
command = /root/ervirtualenvpy2/bin/gunicorn myproject.wsgi -c /root/path/to/the/gunicorn_conf.py/file
directory = /root/ervirtualenvpy2/path/to/myproject
user=root
autorestart=true

还要检查env/bin/gunicorn文件中的gunicorn文件路径

在我的例子中,我将我的
env
目录更改到了另一个地方,因此请确保 错误路径:
#/home/ubuntu/nikhil_project/env/bin/python

正确路径:
#/home/ubuntu/env/bin/python

e表示找不到文件。检查您的文件路径和supervisor访问权限。为什么您如此热衷于使用supervisor而不是已经包含在您的系统中的upstart或systemd?好吧,我使用supervisor是因为将来我想添加芹菜,rabbitmq和memcached到我的项目中,我对所有这些服务器设置和部署都是新手,所以我对upstart和systemd不太了解。我依赖于我开始研究此设置时发现的信息,我第一次遇到主管。对我来说也是一样。一种可能的情况是:
您重命名了venv目录
。这件事发生在我身上,让我头疼。在Supervisor上,一切都配置得很好,但由于注意力不够,我重命名了venv文件夹,因为我正在更改应用程序的名称,有一秒钟,我认为重命名venv文件夹不会有任何问题。不要那样做。创建一个新的应用程序,而不是更新Supervisor或与您的应用程序交互的任何应用程序/服务上的引用。