1. 程式人生 > >.NET Core 部署到CentOS–3.supervisord守護進

.NET Core 部署到CentOS–3.supervisord守護進

dir borde title nbsp otto err 通過 退出 int

1. 安裝

sudo yum install python-setuptools
sudo easy_install supervisor

2. 配置

安裝成功後,輸入supervisord 會顯示配置默認讀取目錄:

技術分享

安裝成功後我看到有這個目錄,所以就把配置放在這了:

技術分享

a) 初始化配置文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf

b) 指定配置文件

supervisord -c /etc/supervisor/supervisord.conf

c) 指定守護程序配置

sudo vim /etc/supervisor/supervisord.conf

d) 解註並編輯

“;”表示註釋, 刪了就解註了

[include]
files = conf.d/*.conf

e) 創建配置

sudo mkdir /etc/supervisord.d/conf.d

sudo vim hellmvc.conf

粘入以下內容:

[program:hellomvc]
command=/usr/local/bin/dotnet hellomvc.dll
directory=/var/aspnetcore/hellomvc
autorestart=true
stderr_logfile=/var/log/hellomvc.err.log
stdout_logfile=/var/log/hellomvc.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=www-data
stopsignal=INT

保存退出:

:wq

f) 配置supervisor開機啟動

sudo systemctl start supervisord.service

sudo systemctl enable supervisord.service

如無意外,現在您已可以訪問到站點了

3. 配置UI

安裝supervisor後,默認是有一個UI站點的,只要修改下配置,開放端口就可以訪問得到

sudo vim /etc/supervisord.d/supervisord.conf

找到這一段,並修改,由於我要公網可訪問,所以我只寫了個端口,這樣就允許任意IP了

技術分享

技術分享

技術分享

PS:

問題排查:

1. 確定守護進程是否運行中:

技術分享

像這樣就是運行中的了

2. 如無守護進程,則啟動失敗,可能過supervisorctl 進行調試

supervisorctl -c /etc/supervisor/supervisord.conf

(直接執行 supervisord –c 或 supervisorctl –c 則會從默認目錄讀取配置(這裏我配置放在了別的地方,所以需要要指定配置文件的路徑))

3. 查看網關端口是否正常 工作

上一篇: .NET Core 部署到CentOS–2.創建守護進程, 通過Nginx公網訪問

參考資料:

https://www.qcloud.com/community/article/240

http://www.gznotes.com/supervisor-socket-error-errno-101/

http://guoze.me/2014/12/17/supervisord-not-root/

.NET Core 部署到CentOS–3.supervisord守護進