.Net Core實戰教程(三):使用Supervisor配置守護進程

安裝Supervisor

yum install python-setuptools

easy_install supervisor

配置Supervisor

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

cd /etc/supervisor

vim supervisord.conf

編輯supervisord.conf文件python

配置啓動路徑,移動文件最後,找到:vim

;[include]
;files = relative/directory/*.ini

替換爲:api

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

 

配置啓用管理界面功能,增長以下代碼(這裏默認不用輸入用戶名密碼,固然也能夠配置輸入用戶名,密碼才能使用管理界面):瀏覽器

;如下內容開啓http服務
[inet_http_server]
port=192.168.3.162:9001

保存並退出bash

配置dotnet啓動

cd /etc/supervisor/

mkdir conf.d

cd conf.d

touch myapi.conf

vim myapi.conf

編輯myapi.conf文件(根據你本身的實際狀況書寫):spa

[program:myapi]
command=/bin/bash -c "dotnet myapi.dll" ; 運行程序的命令
directory=/root/mytest/ ; 應用程序所在目錄
stderr_logfile=/var/log/myapi.err.log ; 錯誤日誌文件
stdout_logfile=/var/log/myapi.out.log ; 輸出日誌文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 進程環境變量
user=root ; 進程執行的用戶身份
stopsignal=INT
autostart=true ; 是否自動啓動
autorestart=true ; 程序意外退出是否自動重啓
startsecs=3 ; 自動重啓間隔時間秒

保存並退出rest

若是有多個dotnet須要守護,這裏須要寫多份配置文件。日誌

運行Supervisor

supervisord -c /etc/supervisor/supervisord.conf

supervisorctl reload

查看Supervisor管理界面

查看管理界面,瀏覽器中輸入剛剛配置的IP與端口:http://192.168.3.162:9001code

發現本身的dotnet進程已經正常啓動了。固然這還不夠,咱們還須要讓Supervisor開機自動啓動。server

設置開機自動啓動

cd /usr/lib/systemd/system/

touch supervisord.service

vim supervisord.service

編輯supervisord.service文件:

[Unit] 
Description=Supervisor daemon

[Service] 
Type=forking 
ExecStart=/usr/bin/supervisord -c /etc/supervisor/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

重啓電腦看看是否開機能夠自動開啓你的dotnet進程。

 

精心準備,轉載請留下原文地址。

相關文章
相關標籤/搜索