配置supervisor實現進程守護
1.安裝supervisor
yum install Supervisor
2.啟動服務
supervisord -c /etc/supervisord.conf
進入 cd /etc 目錄 找到supervisord.conf 配置文件 和 supervisord.d 文件夾,使用vim編輯supervisord.conf文件,拉到最底部我們可以看到

files = supervisord.d/*.ini 這句代碼說明它會加載supervisord.d文件夾中的所有.ini配置文件
3.編輯配置文件
隨后我們在supervosprd.d中創建一個delploy.ini文件並編輯如下
[program:DeployLinux] #DeployLinux 為程序的名稱 command=dotnet DeployLinux.dll #需要執行的命令 directory=/home/publish #命令執行的目錄 environment=ASPNETCORE__ENVIRONMENT=Production #環境變量 user=root #用戶 stopsignal=INT autostart=true #是否自啟動 autorestart=true #是否自動重啟 startsecs=3 #自動重啟時間間隔(s) stderr_logfile=/var/log/ossoffical.err.log #錯誤日志文件 stdout_logfile=/var/log/ossoffical.out.log #輸出日志文件
4.重載配置文件
執行命令使用心得配置文件運行supervisor服務
supervisorctl reload //重新加載配置文件
5.訪問網站
在未執行dotnet xxx.dll啟動程序的情況下 在外部訪問網站路徑成功

成功后supervisor 日志如下,在日志中我們看到在啟動過程中,服務加載了我們的配置文件
deploy.ini

6.意外情況
這個問題本不該遇到的,但是由於我是在一無所知的情況下操作的,所以因為沒有啟動服務而一度焦頭爛額,碎記下來警醒自己

說明你沒有啟動服務,執行
supervisord -c /etc/supervisord.conf 啟動即可
訪問Supervisor的圖形化界面
1.修改配置
將supervisord.conf 中的一段配置更改如下

2.重載supervisor配置
然后執行
supervisorctl reload
重新加載配置
3.開啟端口
在訪問其web管理界面之前,先需要開啟你為他配置的端口,這里我們分配給他的是9001端口,下面是端口管理的一些命令
firewall-cmd --query-port=9001/tcp //監測端口是否開啟 firewall-cmd --add-port=9001/tcp //開啟80端口 firewall-cmd --remove-port=9001/tcp //關閉80端口 sudo firewall-cmd --reload //重新加載配置

4.訪問圖形界面
端口開啟成功后訪問supervisor的界面程序進行進程管理
