CentOS7.3使用Supervisor

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服务

留下评论

电子邮件地址不会被公开。 必填项已用*标注