执行supervisorctl reload:
supervisorctl reload
报错如下:
error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socket.py line: 224
尝试执行:
重启 Supervisor 服务
systemctl restart supervisord.service
xx.ini文件内容没有错误的话,会执行成功
推荐命令:
systemctl status supervisord.service :查看 Supervisor 服务的状态
systemctl start supervisord.service :用于启动 Supervisor 服务
systemctl restart supervisord.service :用于重启 Supervisor 服务
systemctl enable supervisord.service :设置 Supervisor 服务开机自启
systemctl status supervisord.service
systemctl start supervisord.service
systemctl restart supervisord.service
systemctl enable supervisord.service
错误分析:
大概率原因是:修改xx.ini或者xx.conf文件的内容配置错误
我这里未修改如下配置:
[include]
files = supervisord.d/*.ini
错误的原因:就是.ini文件的注释符用 # ,正确的是用分号 ; 千万记住在supervisor 中注释不能用#来注释
错误代码如下:
[program:flaskapi] # :右边是项目名称
command=/bin/bash -c " . .venv/bin/activate&&gunicorn -D -w 4 -t 30 -b 0.0.0.0:8011 app:app --log-level info --access-logfile access.log --error-logfile error.log" # 启动虚拟环境下的gunicorn,这里建议使用绝对路径
directory=/usr/projects/flask-api # 程序的启动目录,这里是Flask网站根目录
user=root # 用户名
autostart=true # 在 supervisord 启动的时候也自动启动
autorestart=true # 程序异常退出后自动重启
stopasgroup=true # 它表示当该进程停止时,与该进程属于同一组的所有相关进程也会同时停止
killasgroup=true # "杀死"整个组的进程
loglevel=info # 日志级别设置为“信息”级别
正确代码如下 :
[program:flaskapi] ; :右边是项目名称
command=/bin/bash -c " . .venv/bin/activate&&gunicorn -D -w 4 -t 30 -b 0.0.0.0:8011 app:app --log-level info --access-logfile access.log --error-logfile error.log" ; 启动虚拟环境下的gunicorn,这里建议使用绝对路径
directory=/usr/projects/flask-api ; 程序的启动目录,这里是Flask网站根目录
user=root ; 用户名
autostart=true ; 在 supervisord 启动的时候也自动启动
autorestart=true ; 程序异常退出后自动重启
stopasgroup=true ; 它表示当该进程停止时,与该进程属于同一组的所有相关进程也会同时停止
killasgroup=true ; "杀死"整个组的进程
loglevel=info ; 日志级别设置为“信息”级别