supervisor使用
- 安装
yum install supervisor
-
使用
supervisor配置文件:/etc/supervisord.conf -
网页访问
http://服务器ip:9001 -
命令行登录
supervisorctl
supervisor> help [选项] #查看帮助
supervisor> update #增加任务
- 配置模板
配置目录:/data/web/supervisor/conf.d/
配置文件:开发者_功能.conf
[root@zhuzi ~]# cat /data/web/supervisor/conf.d/example
[program:supervisor_test]
process_name=%(program_name)s_%(process_num)02d ; 默认不改
command = /usr/local/php/bin/php /data/web/project/php artisan supervisor:test ;command=后面跟着就是你要守护的shell
autostart = true ;如果设置为true,当supervisord启动的时候,进程会自动重启。
startsecs = 0 ;程序启动后等待多长时间后才认为程序启动成功;设置0不根据时间来判断是否启动失败, 就不会因为被判断启动失败而短时间内不断重启 导致fatal报错
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
stopasgroup=true ;默认为false,如果设置为true,则会使supervisor发送停止信号到整个进程组
killasgroup=true ;默认为false,如果设置为true,则在给程序发送SIGKILL信号的时候,会发送到整个进程组,它的子进程(子进程的进程:孙子进程)也会受到影响。
user = www ; 用哪个用户启动
numprocs=1 ; 启动程序数量
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 50MB ; 日志文件大小,超出会 rotate,默认 50MB
stdout_logfile_backups = 10 ; 日志文件保留备份数量默认 10
stdout_logfile = /data/web/supervisor/logs/%(program_name)s_%(process_num)02d.log ; 存放日志路径
[root@zhuzi ~]#
重启服务:
root用户:
sudo -u www /usr/local/bin/python /usr/local/bin/supervisord -c /etc/supervisord.conf