本文主要讲述Supervisor的配置文件如何配置,以及命令使用方式等。
安装步骤省略...具体可以参考这里:supervisord.org/installing.…
- 生成配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 修改 supervisord.conf 文件配置,引入 conf.d/*.conf 的配置
# 编辑配置文件
vi /etc/supervisor/supervisord.conf
# 放开注释;[include],修改 ;files = relative/directory/*.ini,并保存退出
files = conf.d/*.ini
mkdir /etc/supervisor/conf.d
- supervisor自启动配置
vi /lib/systemd/system/supervisord.service
输入或替换对应内容
# supervisord service for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon
After=rc-local.service nss-user-lookup.target
[Service]
Type=forking
ExecStart=/usr/bin/supervisord
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
执行自启动
systemctl enable supervisord
检查是否设置成功
#提示 enabled 表示成功
systemctl is-enabled supervisord
- program配置:
touch cms-server.ini
vi cms-server.ini
[program:cms-server]
command=java -jar cms-sever-1.0-SNAPSHOT.jar -Xms512M -Xmx512M
process_name=%(program_name)s
user=test
numprocs=1
directory=/home/cms-server/target
autostart=true
startretries=3
- 运行
#运行
supervisord -c /etc/supervisor/supervisord.conf
#查看进程 (ps -ef | grep ProjectName)
ps -ef | grep cms-server
- 常用命令
service supervisord start #启动
service supervisord stop #停止
service supervisord status #状态
supervisorctl shutdown #关闭所有任务
supervisorctl stop|start|restart program_name #启动或停止服务
supervisorctl stop all # 停止全部进程,注:start、restart、stop 都不会载入最新的配置文件
supervisorctl status #查看所有任务状态
supervisorctl reload # 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程
supervisorctl update # 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
# 添加新服务
supervisorctl reread # 重读配置
supervisorctl add xxx # 添加新的服务
- 问题处理
- unix:///tmp/supervisor.sock no such file 处理
sudo chmod 777 /run
sudo chmod 777 /var/log