CentOS7.3安装Supervisor3.4(本文)
# yum install supervisor
Debian/Ubuntu安装Supervisor
# apt-get install supervisor
pip安装
# pip install supervisor
easy_install安装
# easy_install supervisor
Supervisor配置文件
配置文件在 /etc/supervisord.conf,其中supervisord.conf为总配置文件
服务配置可放在conf.d目录下,命名为*.conf
#项目名称 [program:应用名称] #脚本所在目录 directory= #脚本执行命令 command=启动应用命令 #在supervisord启动的时候也自动启动 autostart=true #启动30秒后没有异常退出,就表示进程正常启动了,默认为1秒 startsecs=30 #程序退出后自动重启,可选值:[unexpected,true,false],默认为unexpected,表示进程意外杀死后才重启 autorestart=true #启动失败自动重试次数,默认是3 startretries=3 #脚本运行的用户身份 user=root #进程启动优先级,默认999,值小的优先启动 priority=999 #把stderr重定向到stdout,默认 false redirect_stderr=true #stdout日志文件大小 stdout_logfile_maxbytes=100MB #stdout日志文件备份数 stdout_logfile_backups=2 #日志输出 stdout_logfile= #错误日志输出 stderr_logfile= #进程被杀死时,是否向这个进程组发送stop信号,包括子进程,默认为false stopasgroup=false #向进程组发送kill信号,包括子进程,默认为false killasgroup=false
相关命令
# /usr/bin/supervisord -c /etc/supervisord.conf
设置开机自启
# systemctl enable supervisord.service
启动supervisor并加载默认配置文件
# systemctl start supervisord.service
停止supervisor
# systemctl stop supervisord.service
查看supervisord状态
# systemctl status supervisord.service
supervisorctl
# supervisorctl status // 查看所有进程的状态
# supervisorctl start 服务名称 // 启动某个进程
# supervisorctl stop 服务名称 // 关闭某个进程(显式用stop停止掉的进程,用reload或者update都不会自动重启)
# supervisorctl restart 服务名称 // 重启某个进程
# supervisorctl update // 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
# supervisorctl reload // 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
# supervisorctl stop all // 停止全部管理进程
# supervisorctl shutdown // 关闭supervisord服务