1. 程式人生 > >Centos7 中使用Supervisor守護進程

Centos7 中使用Supervisor守護進程

onf code wall OS html src TP cto 執行

轉: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的界面程序進行進程管理 技術分享圖片

Centos7 中使用Supervisor守護進程