1. 程式人生 > 實用技巧 >Centos 中使用Supervisor守護程序(轉載)

Centos 中使用Supervisor守護程序(轉載)

轉載自 https://www.cnblogs.com/qmhuang/p/8196132.html

配置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的介面程式進行程序管理