
我写了一个Django项目,我使用了带有gunicorn的主管
/etc/supervisor/conf.d/weather.conf
[group:weather_station]
programs=site
[program:site]
directory=$PROJECT
command=/home/nhcc/.local/bin/gunicorn -c /$PROJECT/weather_station/gunicorn.conf.py -p gunicorn.pod weather_station.wsgi
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor.log
environment=my-environment-variable
~
sudo supervisorctl reread
sudo supervisorctl reload
sudo supervisorctl status
它出现了错误
weather_station:site FATAL退出太快(进程日志可能有详细信息)
所以我检查了日志文件:
/var/log/supervisor/supervisord.log
2017-09-08 17:15:25,000 CRIT Supervisor以root身份运行(配置文件中没有用户)
2017-09-08 17:15:25,000 WARN在解析过程中包含额外的文件“/etc/supervisor/conf.d/weather.conf”
2017-09-08 17:15:25,007 INFO RPC接口'supervisor'初始化
2017-09-08 17:15:25,008 CRIT服务器'inet_http_server'在没有任何HTTP身份验证检查的情况下运行
2017-09-08 17:15:25,008 INFO RPC接口'supervisor'初始化
2017-09-08 17:15:25,008 CRIT服务器'unix_http_server'在没有任何HTTP身份验证检查的情况下运行
2017-09-08 17:15:25,008 INFO supervisord以pid 32371开始
2017-09-08 17:15:26,013 INFO催生:带有pid 32447的'site'
2017-09-08 17:15:26,018 INFO退出:网站(退出状态127;不预期)
2017-09-08 17:15:27,022 INFO催生:带有pid 32448的'site'
2017-09-08 17:15:27,026 INFO已退出:网站(退出状态127;未预期)
2017-09-08 17:15:29,032 INFO催生:带有pid 32449的'site'
2017-09-08 17:15:29,038退出信息:网站(退出状态127;不预期)
2017-09-08 17:15:32,043 INFO催生:带有pid 32451的'site'
2017-09-08 17:15:32,059 INFO已退出:网站(退出状态127;未预期)
2017-09-08 17:15:33,060 INFO放弃:网站进入致命状态,太多开始重试太快
根据Included extra file
the solution
根据Server 'unix_http_server' running without any HTTP authentication checking
the solution
我添加了两节[unix_http_server]和[inet_http_server]
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0766 ; socket file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9001 ; (ip_address:port specifier, *:port for all iface,
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))
这是当前的supervisor.conf
[unix_http_server]
file=/var/run/supervisor.sock ; (the path to the socket file)
chmod=0766 ; socket file mode (default 0700)
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
[inet_http_server] ; inet (TCP) server disabled by default
port=*:9001 ;
[include]
files = /etc/supervisor/*.conf
files = /etc/supervisor/conf.d/*.conf
然后我跑了
sudo supervisord -c /etc/supervisor/supervisord.conf
sudo supervisorctl -c /etc/supervisor/supervisord.conf
我跑了
sudo supervisorctl reread
sudo supervisorctl reload
然后我再次检查了日志
错误完全相同
有谁知道为什么?
投票
尝试:
# service supervisord stop
# supervisord -c /etc/supervisor/supervisord.conf
然后检查状态:
# supervisorctl status