一、安装命令
yum -y install supervisor
二、配置监测程序
/etc/supervisord.d/*.ini
配置示例
#项目名
[program:nginx]
#脚本目录
directory=/usr/local/nginx/sbin/
#脚本执行命令
command=/usr/local/nginx/sbin/nginx
#supervisor启动的时候是否随着同时启动,默认True
autostart=false
#当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个>选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=true
#这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#脚本运行的用户身份
user = root
#日志输出
stderr_logfile=/tmp/nginx_stderr.log
stdout_logfile=/tmp/nginx_stdout.log
#把stderr重定向到stdout,默认 false
redirect_stderr = true
#stdout日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20480
#stdout日志文件备份数
stdout_logfile_backups = 20
三、启动supervisor
supervisord -c /etc/supervisord.conf
四、常用命令
supervisorctl status //查看所有进程的状态
supervisorctl stop nginx //停止nginx
supervisorctl start nginx //启动nginx
supervisorctl start all //启动全部配置程序
supervisorctl restart //重启指定的程序
supervisorctl update //配置文件修改后使用该命令加载新的配置
supervisorctl reload //重新启动配置中的所有程序,配置有调整需要执行
supervisor无法检测后台启动进程的pid,而supervisor本身就是后台启动守护进程,受监控的程序不能为后台启动的程序