1.Supervisor安裝
准備工作:
dnf install python3.8 -y
正式安裝:
wget https://pypi.python.org/packages/source/s/supervisor/supervisor-4.2.0.tar.gz tar zxvf supervisor-4.2.0.tar.gz cd supervisor-4.2.0 /usr/bin/python3.8 setup.py install mkdir /usr/supervisor echo_supervisord_conf > /usr/supervisor/supervisord.conf mkdir /usr/supervisor/supervisord.d/
1.1 點擊下載此文件:supervisord.conf ,並使用該文件替換 /usr/supervisor/supervisord.conf 原文件
1.2 /usr/supervisor/supervisord.d/目錄下的conf文件模板
my_webapi.conf
[program:my_webapi] directory =/var/www/webApi command =dotnet My.WebApi.dll --urls "http://*:9991" autostart = true startsecs = 5 autorestart = true startretries = 3 user = root redirect_stderr = true stdout_logfile_maxbytes = 20MB stdout_logfile_backups = 20 stdout_logfile = /var/www/logs/my_webapi_supervisor.log
2.添加開機自啟動腳本
2.1 cd /lib/systemd/system/
2.2 vim supervisord.service
[Unit] Description=Process Monitoring and Control Daemon After=rc-local.service nss-user-lookup.target [Service] Type=forking ExecStart=/usr/local/bin/supervisord -c /usr/supervisor/supervisord.conf ExecStop=/usr/local/bin/supervisord shutdown ExecReload=/usr/local/bin/supervisord reload killMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target
2.3 systemctl enable supervisord (啟用開機啟動)
3.啟動
systemctl start supervisord
4.supervisorctl 命令介紹
update 更新新的配置到supervisord(不會重啟原來已運行的程序)
reload,載入所有配置文件,並按新的配置啟動、管理所有進程(會重啟原來已運行的程序)
start xxx: 啟動某個進程
restart xxx: 重啟某個進程
stop xxx: 停止某一個進程(xxx),xxx為[program:theprogramname]里配置的值
stop groupworker: 重啟所有屬於名為groupworker這個分組的進程(start,restart同理)
stop all,停止全部進程,注:start、restart、stop都不會載入最新的配置文
reread,當一個服務由自動啟動修改為手動啟動時執行一下就ok
5.引用地址
其他問題可參考https://www.cnblogs.com/toutou/p/supervisor.html(第二種方式安裝)