加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

django -supervisorctl总是报告错误:ERROR(没有此类文件)

发布时间:2020-12-13 20:59:34 所属栏目:Nginx 来源:网络整理
导读:我用uwsgi,supervisor和nginx部署django项目. 但是我已经在/etc/supervisord.conf中像上面一样添加了程序. [program:JZAssist]command=-E uwsgi --ini /home/work/xxxx/uwsgi.inidirectory=/home/work/xxxxstartsecs=0stopwaitsecs=0autostart=trueautoresta

我用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重新启动.
它显示

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.d运行我的django项目,那么缺少什么文件?

最佳答案
在您的command =行上,您已指定该程序以-E运行,而主管找不到该程序来执行.

为作业创建文件时,命令行应作为shell命令可执行,并且不应依赖内部命令来执行给定的shell.例如,我遇到了一个以以下内容开头的问题:

源/ path / to / python / virtual / environment / bin / activate&& …

但源代码是内置的bash.我需要将其更改为:

bash -c’source / path / to / python / virtual / environment / bin / activate&& …

这样,主管可以找到并运行的可执行文件是bash.

就您而言,看来uwsgi应该是command =之后的第一件事.

您提到您在运行sudo时使用-E标志来保留环境变量,但是主管不需要sudo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读