Supervisor-CentOS7安装和使用


一、安装 Supervisor

1. 安装 epel 源

yum install -y epel-release

2. 安装 supervisor

yum install -y supervisor

2.启动服务并添加开机自启

# 添加开机自启
systemctl enable supervisord

# 启动服务
systemctl start supervisord

# 重启
# systemctl restart supervisord

3.查看 supervisor 状态

# 查看进程信息
ps -ef|grep supervisord
# 查看服务状态
systemctl status supervisord

二、配置 Supervisor

默认配置文件路径:
/etc/supervisord.conf

1. 查看或编辑配置文件

vim /etc/supervisord.conf
默认配置文件中引入了 ./supervisord.d/*.ini
具体每个应用的配置信息可以写到单独的文件中

2. 添加应用配置

  • 推荐在 /etc/supervisord.d/ 下为每个应用创建对应的 xxx.ini 文件,方便管理和维护
应用配置模板

# 声明一个应用,service1为应用的名字
[program:service1]
# 声明启动命令,可以直接自行应用,也可以运行一个脚本
command=/bin/bash /data/shell/sendmessage.sh
# 进程数量
numprocs=1

# 优先级,值越高,最后启动,最先被关闭,默认值999
# priority=999
# 自动启动,如果是true,当supervisor启动时,程序将会自动启动
# autostart=true
# 自动重启, 应用崩溃后自动重启
autorestart=true
# 延时启动,默认1秒
# startsecs=10
# 停止等待时间
# stopwaitsecs=10
# 启动尝试次数,默认3次
# startretries=3
# 以指定用户执行
# user=root

# 进程名称,一般不需要调整
# process_name=%(program_name)s
# process_name=%(program_name)s_%(process_num)02d
# 工作目录,设置后命令中可以使用相对路径
# directory=/opt/service1
# 权限值
# umask=022
# 退出码,当退出码是0,2时,执行重启,默认值0,2
# exitcodes=0,2

# 停止信号,默认TERM
# 中断:INT(类似于Ctrl+C)(kill -INT pid),退出后会将写文件或日志(推荐)
# 终止:TERM(kill -TERM pid)
# 挂起:HUP(kill -HUP pid),注意与Ctrl+Z/kill -stop pid不同
# 从容停止:QUIT(kill -QUIT pid)
# KILL, USR1, USR2其他参考命令(kill -l)
# stopsignal=TERM

# 将错误日志重定向输出到业务日志中。默认:false
# redirect_stderr=true
# 业务日志路径。NONE代表不输出。默认:AUTO
# stdout_logfile=/a/path
# 业务日志文件最大字节数
# stdout_logfile_maxbytes=1MB
# 业务日志文件备份数量,默认:10
# stdout_logfile_backups=10
# 业务日志事件启用。默认:false
# stdout_events_enabled=false
# 错误日志路径。NONE代表不输出。默认:AUTO
# stderr_logfile=/a/path
# 错误日志文件最大字节数
# stderr_logfile_maxbytes=1MB
# 错误日志文件备份数量,默认:10
# stderr_logfile_backups
# 错误日志事件启用。默认:false
# stderr_events_enabled=false

# 环境变量设置
# environment=A="1",B="2"

[include]
files = supervisord.d/*.ini

三、常用操作

# 重载配置文件
supervisorctl reread 

# 更新程序
supervisorctl update 

# 启动 larashop-worker
supervisorctl start larashop-worker:* 

# 查看状态
supervisorctl status 

# 查看版本
supervisord -v

发表评论