簡介
supervisor可以保證程式崩潰后,可以重新把程式啟動起來等相關功能,
安裝
yum install -y supervisor
安裝好后在/etc/會生成一個supervisord.conf檔案及一個supervisord.d檔案目錄
查看supervisor是否安裝成功
supervisord --version

啟動
supervisord -c /etc/supervisord.conf
查看supervisor是否啟動成功
ps -ef|grep supervisord

設定supervisor 開機啟動
systemctl enable supervisord
檢查是否是開機啟動
systemctl is-enabled supervisord

啟動服務
systemctl start supervisord
啟動時可能回報錯:Another program is already listening on a port that one of our HTTP servers is config...rvisord.

解決方案:
執行命令 find / -name supervisor.sock 然后 unlink /路徑/supervisor.sock 最后再執行啟動命令 systemctl start supervisord
查看狀態
systemctl status supervisord.service

配置supervisor ,web管理頁面
修改配置資訊,supervisor 默認組態檔,放在 /etc/supervisord.conf 路徑中:
[inet_http_server] ; HTTP 服務器,提供 web 管理界面 port=*:9001 ; Web 管理后臺運行的 IP 和埠 username=user ; 登錄管理后臺的用戶名 password=1234 ; 登錄管理后臺的密碼
[include]
files = supervisord.d/*.ini ;組態檔夾
修改完之后重啟:
supervisorctl reload

然后通過http://ip:9001/訪問web界面,賬戶名密碼就是你配置的,效果如下:

創建組態檔
創建一個.ini檔案,放在目錄supervisord.d下
[program:demo] ;程式名稱 command=dotnet demo.dll ; 運行命令 directory=/web/publish;目錄 environment=ASPNETCORE_ENVIRONMENT=Production;環境變數 user=root;用戶 stopsignal=INT autostart=true;如果是true的話,子行程將在supervisord啟動后被自動啟動 autorestart=true;行程死掉后自動重啟的情況 stderr_logfile=/var/log/demo/demo.err.log;錯誤日志檔案 stdout_logfile=/var/log/demo/demo.out.log;輸出日志檔案

重啟
systemctl restart supervisord
查看是否生效
supervisorctl status

然后把Xshell關了,瀏覽器中輸入:http://ip:8080/api/values,也能看到以下頁面:

supervisorctl 常用命令
查看任務狀態:supervisorctl status
啟動任務:supervisorctl start <name>
停止任務:supervisorctl stop <name>
重啟任務:supervisorctl restart <name>
清除日志檔案:supervisorctl clear <name>
清除多個日志檔案:supervisorctl clear <name> <name>
清除所有日志檔案:supervisorctl clear all
移除任務:supervisorctl remove <name>
Nginx代理配置
安裝nginx:Linux - CentOS 7 通過Yum源安裝 Nginx
修改nginx.conf
添加一個服務
server { listen 80; server_name 47.106.98.252; location / { root html; index index.html index.htm; proxy_pass http://localhost:8080; } }
檢查組態檔是否成功
nginx -t

成功之后重啟Nginx服務
systemctl restart nginx.service
測驗
瀏覽器輸入http://ip:/api/values,效果是一樣的:

轉載請註明出處,本文鏈接:https://www.uj5u.com/net/84770.html
標籤:.NET Core
