Supervisor 进程管理工具配置

189 阅读1分钟

本文主要讲述Supervisor的配置文件如何配置,以及命令使用方式等。

安装步骤省略...具体可以参考这里:supervisord.org/installing.…

  1. 生成配置文件
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
  1. 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
  1. 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
  1. 运行
#运行

supervisord -c /etc/supervisor/supervisord.conf

#查看进程 (ps -ef | grep ProjectName)

ps -ef | grep cms-server
  1. 常用命令
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 # 添加新的服务
  1. 问题处理
  • unix:///tmp/supervisor.sock no such file 处理
sudo chmod 777 /run

sudo chmod 777 /var/log