安装
yum -y install supervisor
建议用yum安装,自动生成服务文件/usr/lib/systemd/system/supervisord.service
pip install supervisor
卸载
pip uninstall supervisor
yum uninstall supervisor
配置文件
自动生成配置文件/etc/supervisord.conf
[program:myapp]
command=/home/myproject/venv/bin/gunicorn -w4 -b0.0.0.0:8000 myapp:app ; supervisor启动命令
directory=/home/myproject ; 项目的文件夹路径
startsecs=0 ; 启动时间
stopwaitsecs=0 ; 终止等待时间
autostart=false ; 是否自动启动
autorestart=false ; 是否自动重启
stdout_logfile=/home/myproject/log/gunicorn.log ; log 日志
stderr_logfile=/home/myproject/log/gunicorn.err ; 错误日志
子进程路径/etc/supervisord.d/
服务配置文件/usr/lib/systemd/system/supervisord.service
基本命令
supervisord -c supervisord.conf 通过配置文件启动supervisor
supervisorctl -c supervisord.conf status 察看supervisor的状态
supervisorctl -c supervisord.conf reload 重新载入 配置文件
supervisorctl -c supervisord.conf start [all]|[appname] 启动指定/所有 supervisor管理的程序进程
supervisorctl -c supervisord.conf stop [all]|[appname] 关闭指定/所有 supervisor管理的程序进程
查看所有子进程
#supervisorctl status
failprocess RUNNING pid 712, uptime 96 days, 6:05:15
getphonehome RUNNING pid 703, uptime 96 days, 6:05:15
parserun RUNNING pid 1408, uptime 35 days, 21:21:28
recelery:recelery_00 RUNNING pid 12008, uptime 16:55:40
recelery:recelery_01 RUNNING pid 12001, uptime 16:55:41
recelery:recelery_02 RUNNING pid 11988, uptime 16:55:42
recelery:recelery_03 RUNNING pid 11987, uptime 16:55:42
releasegunicorn RUNNING pid 11922, uptime 16:55:52
timecron RUNNING pid 1318, uptime 96 days, 6:05:09
useMoney RUNNING pid 23699, uptime 22 days, 2:20:11
单个子进程
#supervisorctl start/stop/restart/status useMoney
#supervisorctl start/stop/restart/status all
web界面操作
需要在supervisor的配置文件里添加[inet_http_server]选项组:之后可以通过http://127.0.0.1:9001来访问控制子线程的管理。
[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1: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))
开机自启
开机自启:systemctl enable supervisord.service
其他命令: systemctl start/restart/stop/status supervisord.service