簡介 supervisor可以保證程式崩潰後,可以重新把程式啟動起來等相關功能。 安裝 yum install -y supervisor 安裝好後在/etc/會生成一個supervisord.conf文件及一個supervisord.d文件目錄 查看supervisor是否安裝成功 supervi ...
簡介
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,效果是一樣的: