操做系統: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:*