supervisor守護程序安裝與常用配置方法

2021-10-08 22:14:10 字數 2408 閱讀 2347

1:安裝 supervisor

建立日誌資料夾: sudo mkdir -p /var/log/supervisor

執行安裝命令:sudo yum install supervisor

2:配置環境變數

sudo vim /usr/lib/systemd/system/supervisord.service

寫入如下內容:

[unit]

description=process monitoring and control daemon

after=rc-local.service nss-user-lookup.target

[service]

type=forking

execstart=/usr/bin/supervisord -c /etc/supervisord.conf

[install]

wantedby=multi-user.target

3:supervisor常用配置與新增程式到守護程序

sudo vim /etc/supervisord.conf

file=/tmp/supervisor.sock

logfile=/tmp/supervisord.log -- 日誌檔案,可以看到子程式啟動情況

pidfile=/tmp/supervisord.pid

serverurl=unix:///tmp/supervisor.sock ;通過unix socket連線supervisord,路徑與unix_http_server部分的file一致

[include]

files = supervisord.d/*.ini --- 注意配置專案錄

新增乙個程式監控到守護程序內

cd /etc/supervisor.d

新增乙個 .ini檔案,大體內容如下

[program:自己程式名稱]

process_name=%(program_name)s_%(process_num)02d

command= 自己指令碼啟動命令

autostart=true

autorestart=true

user=apache

numprocs=1

startretries=3

redirect_stderr=true

stdout_logfile=日誌檔案 ***.log

儲存後重新載入配置項,執行:

sudo supervisorctl update

啟動單個程式:sudo supervisorctl start 自己程式名稱:自己程式名稱_00

4:操作supervisor

sudo systemctl start supervisord  -- 啟動supervisor

sudo systemctl stop supervisord.service -- 停止supervisor

sudo systemctl restart supervisord.service -- 重啟supervisor

sudo supervisorctl stop groupworker -- 重啟所有屬於名為 groupworker 這個分組的程序(start,restart 同理)。

sudo supervisorctl stop all -- 停止全部程序,注:start、restart、stop 都不會載入最新的配置檔案。

sudo supervisorctl reload -- 載入最新的配置檔案,停止原有程序並按新的配置啟動、管理所有程序。

sudo supervisorctl update -- 根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟

注意:以上操作是針對整個守護程序,如果裡面有多個子程式都會收到影響

檢視當前守護程序下,所有的子程式狀態

[develop@vm_221_0_centos tmp]$ sudo supervisorctl status

test:test_00 running pid 4100, uptime 1:34:52

第一列:程式名稱每個配置檔案內的program:***xx

第二列:running 指令碼狀態

第三列:pid 指令碼pid

第四列:uptime

5:操作守護程序裡單個程式

sudo supervisorctl stop test:test_00 # 停止

sudo supervisorctl start test:test_00 # 啟動

sudo supervisorctl restart test:test_00 #重啟某個程序

守護程序 supervisor

安裝 yum install superviosr 如果提示 缺少 epel release 則要先安裝 yum install epel release 啟動supervisor supervisord c etc supervisord.conf supervisorctl c etc supe...

Supervisor 程序守護

先看下本機是否有 我的本機已經有了。root a1 supervisord.d whereis supervisord supervisord usr bin supervisord etc supervisord.d etc supervisord.conf root a1 supervisord...

supervisor程序守護

supervisor是用python開發的乙個client server服務,是linux unix系統下的乙個程序管理工具。可以很方便的監聽 啟動 停止 重啟乙個或多個程序。用supervisor管理的程序,當乙個程序意外被殺死,supervisor監聽到程序死後,會自動將它重啟,很方便的做到程序...