yum install python-setuptools
easy_install 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
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須要守護,這裏須要寫多份配置文件。日誌
supervisord -c /etc/supervisor/supervisord.conf
supervisorctl reload
查看管理界面,瀏覽器中輸入剛剛配置的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進程。
精心準備,轉載請留下原文地址。