supervisor简单使用

安装

yum -y install supervisor
echo_supervisord_conf   //查看是否安装成功 如果有内容输出的话代表安装成功

生成配置文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf  

配置项目

修改supervisord.conf文件,去掉最后两行的注释并配置项目目录

[include]

files = supervisord.d/*.ini

配置php-fpm项目示例(注:需要修改php-fpm.conf,设置daemonize = no,默认是yes) /etc/supervisor/supervisord.d/php-fpm.ini

[program:php-fpm]
#脚本目录
directory=/usr/sbin/
#脚本执行命令
command=/usr/sbin/php-fpm
#supervisor启动的时候是否随着同时启动,默认True
autostart=true
#当程序exit的时候,这个program不会自动重启,默认unexpected,设置子进程挂掉后自动重启的情况,有三个>选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新>启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的
autorestart=true
#子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了。默认值为1
startsecs=1
#脚本运行的用户身份
user = root
#日志输出 
stderr_logfile=/var/log/supervisor/php-fpm_stderr.log
stdout_logfile=/var/log/supervisor/php-fpm_stdout.log
#把stderr重定向到stdout,默认 false
redirect_stderr = true
#stdout日志文件大小,默认 50MB
stdout_logfile_maxbytes = 20MB
#stdout日志文件备份数
stdout_logfile_backups = 20

启动supervisor

supervisord -c /etc/supervisor/supervisord.conf

从下图可以看到我们kill掉php-fpm后立马有新的php-fpm进程被拉起,说明supervisor已经监听php-fpm成功了


image.png

常用命令

supervisorctl status        //查看所有进程的状态
supervisorctl stop nginx       //停止nginx
supervisorctl start nginx      //启动nginx
supervisorctl start all      //启动全部配置程序
supervisorctl restart       //重启es
supervisorctl update        //配置文件修改后使用该命令加载新的配置
supervisorctl reload        //重新启动配置中的所有程序

你可能感兴趣的:(supervisor简单使用)