我写了一个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界面'主管'初始化
2017-09-08 17:15:25,008 CRIT Server' inet_http_server'没有任何HTTP运行 身份验证检查
2017-09-08 17:15:25,008 INFO RPC界面 '主管'初始化
2017-09-08 17:15:25,008 CRIT Server' 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
2017-09-08 17:15:26,018 INFO退出:网站(退出状态127;不预期)
2017-09-08 17:15:27,022 INFO催生:' site'用pid 32448
2017-09-08 17:15:27,026 INFO退出:网站(退出状态127;不预期)
2017-09-08 17:15:29,032 INFO催生:'网站'用pid 32449
2017-09-08 17:15:29,038 INFO退出:网站(退出状态127;不预期)
2017-09-08 17:15:32,043 INFO催生:'网站'与pid 32451
2017-09-08 17:15:32,059退出信息:网站(退出状态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
我再次检查了日志
错误完全相同
有谁知道为什么?
答案 0 :(得分:0)
尝试:
# service supervisord stop
# supervisord -c /etc/supervisor/supervisord.conf
,然后通过以下方式检查状态:
# supervisorctl status