centos7安裝supervisor

panweiheng發表於2021-05-12

Supervisor(http://supervisord.org/)
是用Python開發的一個client/server服務,是Linux/Unix系統下的一個程式管理工具,不支援Windows系統。它可以很方便的監聽、啟動、停止、重啟一個或多個程式。用Supervisor管理的程式,當一個程式意外被殺死,supervisort監聽到程式死後,會自動將它重新拉起,很方便的做到程式自動恢復的功能,不再需要自己寫shell指令碼來控制。
supervisor:要安裝的軟體的名稱。
supervisord:裝好supervisor軟體後,supervisord用於啟動supervisor服務。
supervisorctl:用於管理supervisor配置檔案中program。

yum安裝supervisor
yum install epel-release先安裝EPEL源
yum install -y supervisor

配置開機自啟
systemctl enable supervisord

啟動supervisord
systemctl start supervisord

檢視狀態
systemctl status supervisord

修改配置檔案,開啟web介面訪問
vim /etc/supervisord.conf
把[inet_http_server]模組的註釋去掉
並修改IP、使用者名稱與密碼

centos7安裝supervisor

重新載入配置檔案
supervisorctl reload

cat /etc/supervisord.conf

檢視配置檔案最後一個模組

配置需要管理的程式
vim /etc/supervisord.conf 也可修改為
files = supervisord.d/*.conf字尾
目錄在/etc/supervisord.d/下面
到/etc/supervisord.d/目錄下,建立需要管理的程式配置檔案

例如我們建立一個 laravel-worker.conf 來啟動與監控一個 queue:listen 程式
[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /home/forge/app.com/artisan queue:listen
autostart=true
autorestart=true
user=forge
numprocs=8
redirect_stderr=true
stdout_logfile=/home/forge/app.com/worker.log

這個例子裡的 numprocs 命令會要求 Supervisor 執行並監控 8 個 queue:work 程式,並且在它們執行失敗後重新啟動

當這個配置檔案被建立後,你需要更新 Supervisor 的配置,並用以下命令來啟動該程式
supervisorctl reread
supervisorctl update
supervisorctl start laravel-worker:*

supervisorctl

status #檢視程式狀態
stop name #關閉name程式
start name #啟動name程式
restart name # 重啟name程式
reread #讀取有更新的配置檔案,不會啟動新新增的程式
update #重啟配置檔案修改過的程式

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章