supervisor程序管理簡單使用

2021-08-21 19:07:08 字數 2425 閱讀 4727

好久沒寫部落格了,本人喜歡私下研究和總結技術,但是並不太喜歡發表供給其他人,使用程序管理部署celery分布式爬蟲專案已經使用了很久了,今天記錄下使用過的技術。希望以後能常寫部落格。

簡單介紹:

supervisor是乙個程序控制系統,python語言開發,目前只支援python2.7.可以監控可控制程序執行,若程序崩潰關閉,它可以自動重啟程序。更多介紹可以瀏覽官方文件:

安裝配置:

pip install supervisor

echo_supervisord_conf > /etc/supervisord.conf

通過vi命令編輯配置檔案,新增專案資訊

;分布式中celery任務配置

[program:bd_news.worker]

;如果專案環境是python3需要指定虛擬環境python3/bin所在路徑

environment=path=/root/.local/virtualenv/py3/bin

;指定執行目錄

directory=/home/bdnews/bd_news_lang

;執行目錄下執行命令

command=/root/.local/virtualenv/py3/bin/celery -a tasks.workers worker -l info

stdout_logfile=/tmp/bdnewscelery.log

stdout_logfile_maxbytes=1mb

stdout_logfile_backups=10

;啟動設定

numprocs=1 ;程序數

autostart=true ;當supervisor啟動時,程式將會自動啟動

autorestart=true ;自動重啟

;停止訊號,預設term

;中斷:int (類似於ctrl+c)(kill -int pid),退出後會將寫檔案或日誌(推薦)

;終止:term (kill -term pid)

;掛起:hup (kill -hup pid),注意與ctrl+z/kill -stop pid不同

;從容停止:quit (kill -quit pid)

stopsignal=int

;celery定時啟動任務beat配置資訊

[program:bd_news.beat]

;如果專案環境是python3需要指定虛擬環境python3/bin所在路徑

environment=path=/root/.local/virtualenv/py3/bin

;指定執行目錄

directory=/home/bdnews/bd_news_lang

;執行目錄下執行命令

command=/root/.local/virtualenv/py3/bin/celery -a tasks.workers beat -l info

stdout_logfile=/tmp/bdnewscelerybeat.log

stdout_logfile_maxbytes=1mb

stdout_logfile_backups=10

;啟動設定

numprocs=1 ;程序數

autostart=true ;當supervisor啟動時,程式將會自動啟動

autorestart=true ;自動重啟

;停止訊號

stopsignal=int

1.通過配置檔案啟動supervisor

supervisord -c /etc/supervisord.conf
2.檢視子程序執行狀態

supervisorctl status
3.檢視專案執行狀況

supervisorctl tail programname stdout
supervisorctl update

supervisorctl reload

web介面配置視覺化web介面需要在配置檔案中新增[inet_http_server]選項組,一般不需要:

訪問http://ip:9001進行訪問,如果在伺服器上需要配置nginx

Supervisor程序管理

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

supervisor 管理程序

pip install supervisor 配置 etc supervisord.conf file var run supervisor.sock unix socket 檔案,supervisorctl 會使用,如果不能自動建立,可能是沒有許可權,需要手動新增 supervisord logf...

supervisor 管理程序

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