1.配置好yum源后,可以直接安裝
yum install supervisor
2.輸入以下指令查看安裝已完成
supervisord --version
3.生成配置文件
echo_supervisord_conf > /etc/supervisord.conf
4.修改supervisor配置文件
vim /etc/supervisord.conf
修改以下幾行
#啟用訪問web控制界面,inet_http_server區段修改為 [inet_http_server] port=*:9001 #設置賬戶和密碼 username=user password=123 #include區段 [include] files = supervisord.d/*.ini
注:默認子進程配置文件為ini格式,可在supervisor主配置文件中修改。
子進程配置文件路徑:/etc/supervisord.d/
5.建立配置文件 demo.ini
關於 supervisor 配置文件的含義,這里不做過多的解釋,可移步官網查看幫助文檔:http://www.supervisord.org/configuration.html,我們在這里只做一個最簡單的配置文件,剛好夠啟動 .NET Core 應用程序即可
[program:demo] command=/usr/bin/dotnet demo.dll ; 輸入執行命令,這里表示 dotnet demo.dll directory=/data/demo/publish ; 應用程序根目錄 autostart=true ; 是否自動啟動,當 supervisor 加載該配置文件的時候立即啟動它 autorestart=true ; 是否自動重啟,當執行 dotnet Deploy.Linux.dll 啟動失敗時,會重復的自動重啟 logfile_maxbytes=50MB ; 該配置文件輸出單個日志文件的大小 logfile_backups=10 ; 日志備份個數 loglevel=info ; 記錄日志級別 stderr_logfile=/data/logs/demo.err.log ; 指定標准錯誤輸出日志文件 stdout_logfile=/data/logs/demo.out.log ; 指定標准輸出日志文件 environment=ASPNETCORE_ENVIRONMENT=Production ; 可配置環境變量,該環境變量將通過執行 dotnet Deploy.Linux.dll 命令的時候傳入到 .NET Core 應用程序中 user=root ;啟動服務的用戶 stopsignal=INT redirect_stderr=true
上面包含了幾個關鍵的參數,都在注釋中了,接下來建立日志目錄,否則服務啟動出錯,輸入命令
6.創建日志文件目錄
sudo mkdir -p /data/logs/
7.啟動項
systemctl start supervisord.service //啟動supervisor並加載默認配置文件 systemctl enable supervisord.service //將supervisor加入開機啟動項
8.防火牆設置
開放端口
firewall-cmd --zone=public --add-port=9001/tcp --permanent
重啟防火牆
firewall-cmd --reload
9.常用指令
supervisorctl
輸入用戶
密碼
status 服務名 //查看所有進程的狀態
stop 服務名 //停止
start 服務名 //啟動
restart 服務名 //重啟
update //配置文件修改后使用該命令加載新的配置
reload //重新啟動配置中的所有程序