一、环境
操作系统:CentOS 8.3
Supervisor:4.2.1
[root@VM-0-10-centos ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011
[root@VM-0-10-centos ~]# supervisord -v
4.2.1
二、安装及配置
1.安装
[root@VM-0-10-centos ~]# yum install -y supervisor
2.查看安装位置
supervisor安装完成后,会在/usr/bin下生成三个执行程序:
supervisortd → 是supervisor的守护进程服务(用于接收进程管理命令);
supervisorctl → 客户端(用于和守护进程通信,发送管理进程的指令);
echo_supervisord_conf → 生成初始配置文件程序。
[root@VM-0-10-centos bin]# whereis supervisord
supervisord: /usr/bin/supervisord /etc/supervisord.conf /etc/supervisord.d
[root@VM-0-10-centos bin]# whereis supervisorctl
supervisorctl: /usr/bin/supervisorctl
[root@VM-0-10-centos bin]# whereis echo_supervisord_conf
echo_supervisord_conf: /usr/bin/echo_supervisord_conf
3.修改配置文件
默认地, 已经有/etc/supervisord.conf这么个配置文件。在文件中加入以下代码包含自定义配置文件。
[include]
files = supervisord.d/*.ini
4.自定义待守护进程配置文件
假设需要守护的是dotnet core应用,那么可以在/etc/supervisord.d下创建一个类似如下的配置文件:
[program:meedu]
process_name=%(program_name)s_%(process_num)02d
command=php /you-project-path/artisan queue:work --sleep=3 --tries=3
directory=/vdb1/www/sms ; 命令执行的目录
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=zsitd ; 进程执行的用户身份
stopsignal=INT
autostart=true
autorestart=true ; 程序意外退出是否自动重启
startsecs=3 ;/自动重启间隔
stderr_logfile=/var/log/supervisor/meedu.err.log ; 错误日志文件
stdout_logfile=/var/log/supervisor/meedu.out.log ; 输出日志文件
三、Supervisor启停服务
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start meedu:*
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。