操做系统:CentOS 8.3
Supervisor:4.2.1php
[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.安装centos
[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这么个配置文件。在文件中加入如下代码包含自定义配置文件。rest
[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 ; 输出日志文件
sudo supervisorctl reread sudo supervisorctl update sudo supervisorctl start meedu:*