.NET Core 部署到CentOS–3.supervisord守護進
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守護進