supervisor 安装,配置与使用
一、安装
使用pip安装(需系统已安装python及pip包管理工具)
pip install supervisor
二 、配置
生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
编辑supervisord配置文件
vim /etc/supervisord.conf
开启底部的include选项,并自定义引入进程配置文件
[include]
files=/etc/supervisor/*.conf ; 目录不存在时,需自行创建
启动supervisord
supervisord -c /etc/supervisord.conf
添加一个demo进程配置
vim /etc/supervisor/demo.conf
在配置文件中加入进程管理配置项
[program: demo]
command = /usr/local/my/demo ; 启动命令,可以看出与手动在命令行启动的命令是一样的
startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
user = root ; 用哪个用户启动
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数
; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
stdout_logfile = /var/log/my/demo.log
重载supervisord,使配置生效
supervisord reload
三、使用
使用supervisorctl命令管理应用进程
supervisorctl status demo # 查看运行状态
supervisorctl restart demo # 重启
supervisorctl restart all # 重启配置中的所有应用
supervisorctl stop all # 停止配置中的所有应用
supervisorctl start all # 启动配置中的所有应用
supervisorctl stop demo # 停止应用
supervisorctl start demo # 启动应用
supervisorctl reread # 重新载入配置
supervisorctl pid # 获取supervisord的pid
supervisorctl pid demo # 获取应用pid
supervisorctl pid all # 获取所有的pid