supervisor 管理程序

2021-09-11 23:12:54 字數 2308 閱讀 4275

pip install supervisor

配置/etc/supervisord.conf

file=/var/run/supervisor.sock ; unix socket 檔案,supervisorctl 會使用,如果不能自動建立,可能是沒有許可權,需要手動新增

[supervisord]

logfile=/var/log/supervisord.log ; 日誌檔案,預設是 $cwd/supervisord.log

logfile_maxbytes=50mb ; 日誌檔案大小,超出會 rotate,預設 50mb

logfile_backups=10 ; 日誌檔案保留備份數量預設 10

loglevel=info ; 日誌級別,預設 info,其它: debug,warn,trace

pidfile=/var/run/supervisord.pid ; pid 檔案

nodaemon=false ; 是否在前台啟動,預設是 false,即以 daemon 的方式啟動

minfds=1024 ; 可以開啟的檔案描述符的最小值,預設 1024

minprocs=200 ; 可以開啟的程序數的最小值,預設 200

[rpcinte***ce:supervisor]

supervisor.rpcinte***ce_factory = supervisor.rpcinte***ce:make_main_rpcinte***ce

[supervisorctl]

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

[include]

files=/web/website/supervisor/*.conf程式配置

/web/website/supervisor/kalaxing.conf

[program:kalaxing]

directory = /web/website/kalaxing ; 程式的啟動目錄

command = python task.py ; 啟動命令

autostart = true ; 在 supervisord 啟動的時候也自動啟動

startsecs = 5 ; 啟動 5 秒後沒有異常退出,就當作已經正常啟動了

autorestart = true ; 程式異常退出後自動重啟

startretries = 3 ; 啟動失敗自動重試次數,預設是 3

user = root ; 用哪個使用者啟動

redirect_stderr = true ; 把 stderr 重定向到 stdout,預設 false

stdout_logfile_maxbytes = 20mb ; stdout 日誌檔案大小,預設 50mb

stdout_logfile_backups = 20 ; stdout 日誌檔案備份數

; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案)

stdout_logfile = /var/log/kalaxing.log

執行

supervisord -c /etc/supervisord.conf

檢視 supervisord 是否在執行:

ps aux | grep supervisord

命令列輸入supervisorctl,則會進入supervisorctl的shell介面,有以下方法:

status    # 檢視程式狀態

stop kalaxing   # 關閉 kalaxing 程式

start kalaxing  # 啟動 kalaxing 程式

restart kalaxing   #修改**後要執行這個命令,重啟程式才能生效。

reread    # 讀取有更新(增加)的配置檔案,不會啟動新新增的程式

update    # 重啟配置檔案修改過的程式

也可以直接執行,與上面功能一樣

啟動 supervisorctl start kalaxing 

重啟 supervisorctl restart kalaxing #修改**後要執行這個命令,重啟程式才能生效。

Supervisor程序管理

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

supervisor 管理程序

2019獨角獸企業重金招聘python工程師標準 說明supervisor是乙個用 python 寫的程序管理工具,可以很方便的用來啟動 重啟 關閉程序.安裝pip install supervisor配置echo supervisord conf etc supervisord.confsuper...

Supervisor管理程序

2016年04月14日 18 26 45 一 新增好配置檔案後 二 更新新的配置到supervisord vb view plain copy supervisorctl update 三 重新啟動配置中的所有程式 vb view plain copy supervisorctl reload 四 ...