1、執行下列命令安裝supervisor
wget https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm yum install supervisor -y
2、安裝完成之後,我們到配置目錄去新增兩個配置檔案,檔名可以自定義 ,因為我要部署webUI和webAPI兩個應用程式,所以新建了兩個配置檔案:
cd /etc/supervisord.d
vi WebApplication.WebUI.ini
vi WebApplication.WebAPI.ini
WebApplication.WebUI.ini配置檔案
# 冒號後面為應用名稱 [program:WebApplication.WebUI] # 應用啟動命令,需要dotnet的完整路徑 command=dotnet WebApplication.WebUI.dll --urls http://0.0.0.0:8888 # 程式名稱 process_name=%(program_name)s # 應用啟動的目錄,否則應用會報找不到檔案的錯誤 directory=/data/apps/WebApplication.WebUI/ # .net core 應用環境變數,表明是哪個環境 environment=ASPNETCORE_ENVIRONMENT=Development # 執行使用者 user=root stopsignal=INT # 掉線是否自動重啟 autostart=true autorestart=true startsecs=3 priority=1 # 日誌輸出路徑,該路徑自定義(路徑不存在需要手動建立檔案目錄) stderr_logfile=/data/logs/supervisor/log/%(program_name)s_error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 # 日誌輸出路徑,該路徑自定義(路徑不存在需要手動建立檔案目錄) stdout_logfile=/data/logs/supervisor/log/%(program_name)s_error.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10
WebApplication.WebAPI.ini配置檔案
# 冒號後面為應用名稱 [program:WebApplication.WebAPI] # 應用啟動命令,需要dotnet的完整路徑 command=dotnet WebApplication.WebAPI.dll --urls http://0.0.0.0:7777 # 程式名稱 process_name=%(program_name)s # 應用啟動的目錄,否則應用會報找不到檔案的錯誤 directory=/data/apps/WebApplication.WebAPI/ # .net core 應用環境變數,表明是哪個環境 environment=ASPNETCORE_ENVIRONMENT=Development # 執行使用者 user=root stopsignal=INT # 掉線是否自動重啟 autostart=true autorestart=true startsecs=3 priority=1 # 日誌輸出路徑,該路徑自定義(路徑不存在需要手動建立檔案目錄) stderr_logfile=/data/logs/supervisor/log/%(program_name)s_error.log stderr_logfile_maxbytes=50MB stderr_logfile_backups=10 # 日誌輸出路徑,該路徑自定義(路徑不存在需要手動建立檔案目錄) stdout_logfile=/data/logs/supervisor/log/%(program_name)s_error.log stdout_logfile_maxbytes=50MB stdout_logfile_backups=10
3、啟動Supervisor
注意:WebApplication.WebUI和WebApplication.WebAPI 應用程式需要放在對應目錄下/data/apps
# 啟動Supervisor supervisord -c /etc/supervisord.conf #檢視狀態 supervisorctl status
# 防火牆開放埠(作者兩個應用埠號分別是7777、8888)
firewall-cmd --add-port=8888/tcp --permanent
firewall-cmd --add-port=7777/tcp --permanent
4、Supervisor 後臺管理頁面設定
vi /etc/supervisord.conf
取消截圖部分註釋
訪問supervsior 後臺管理頁面,http://192.168.140.129:9001/
5、bash終端控制
#啟動Supervisor supervisord -c /etc/supervisor/supervisord.conf # 檢視狀態 supervisorctl status # 停止某個服務 supervisorctl stop WebApplication1 # 停止所有服務 supervisorctl stop all # 開始某個服務 supervisorctl start WebApplication1 # 開始所有服務 supervisorctl start all # 重啟某個服務 supervisorctl restart WebApplication1 # 重啟所有服務 supervisorctl restart all # 重啟Supervisor supervisorctl reload # 修改Supervisor supervisorctl update
6、將supervsior 配置設定為開機自啟動服務
# 編輯服務檔案 vi /usr/lib/systemd/system/supervisord.service # 內容 [Unit] Description=Supervisor [Service] Type=forking PIDFile=/var/run/supervisord.pid ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
# 啟動服務
systemctl enable supervisord
# 驗證是否為開機自啟動
systemctl is-enabled supervisord
7、supervisord操作命令
# 停止
systemctl stop supervisord
# 啟動
systemctl start supervisord
# 狀態
systemctl status supervisord
# 過載
systemctl reload supervisord
# 重啟
systemctl restart supervisord
友情連結:
https://www.cnblogs.com/chenxi001/p/13614831.html
https://www.jianshu.com/p/9d3b993556b2