当前位置: 代码迷 >> 综合 >> supervisor守护进程安装与常用配置方法
  详细解决方案

supervisor守护进程安装与常用配置方法

热度:75   发布时间:2024-02-08 00:21:40.0

1:安装 Supervisor

创建日志文件夹: sudo mkdir -p /var/log/supervisor
执行安装命令:sudo yum install supervisor

2:配置环境变量

sudo vim /usr/lib/systemd/system/supervisord.service
写入如下内容:[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf[Install]
WantedBy=multi-user.target

3:supervisor常用配置与添加程序到守护进程

sudo vim /etc/supervisord.conffile=/tmp/supervisor.sock
logfile=/tmp/supervisord.log    -- 日志文件,可以看到子程序启动情况
pidfile=/tmp/supervisord.pid 
serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致[include]
files = supervisord.d/*.ini    --- 注意配置项目录添加一个程序监控到守护进程内
cd /etc/supervisor.d
添加一个 .ini文件,大体内容如下[program:自己程序名称]
process_name=%(program_name)s_%(process_num)02d
command= 自己脚本启动命令
autostart=true
autorestart=true
user=apache
numprocs=1
startretries=3
redirect_stderr=true
stdout_logfile=日志文件 xxx.log保存后重新载入配置项,执行:
sudo supervisorctl update
启动单个程序:sudo supervisorctl start 自己程序名称:自己程序名称_00

 4:操作supervisor

sudo systemctl start supervisord  -- 启动Supervisor
sudo systemctl stop supervisord.service   -- 停止Supervisor
sudo systemctl restart supervisord.service  -- 重启Supervisor
sudo supervisorctl stop groupworker  -- 重启所有属于名为 groupworker 这个分组的进程(start,restart 同理)。
sudo supervisorctl stop all  -- 停止全部进程,注:start、restart、stop 都不会载入最新的配置文件。
sudo supervisorctl reload  -- 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
sudo supervisorctl update  -- 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
注意:以上操作是针对整个守护进程,如果里面有多个子程序都会收到影响查看当前守护进程下,所有的子程序状态[develop@VM_221_0_centos tmp]$ sudo supervisorctl status
test:test_00             RUNNING   pid 4100, uptime 1:34:52第一列:程序名称每个配置文件内的program:xxxxx
第二列:RUNNING  脚本状态
第三列:pid  脚本pid
第四列:uptime 

 

 5:操作守护进程里单个程序

sudo supervisorctl stop test:test_00 # 停止
sudo supervisorctl start test:test_00 # 启动
sudo supervisorctl restart test:test_00  #重启某个进程