supervisor 啟動一個守護程序詳細過程
阿新 • • 發佈:2018-12-27
一、安裝
apt install supervisor
原始碼安裝
cd /usr/local/src wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz tar -zxvf supervisor-3.3.2.tar.gz cd supervisor-3.3.2 python setup.py install #本地python版本為python2.7 # python2.7 setup.py install #本地python版本為python3以上
二、配置
1.生成配置檔案
ls /etc/supervisor
conf.d supervisord.conf
2.啟動
supervisord -c /etc/supervisord.conf
檢視 supervisord 是否在執行:
ps aux | grep supervisord
3.配置
vim /etc/supervisord.conf
在配置檔案底部,配置include
[include]
files = /etc/supervisor/conf.d/*.conf #若你本地無/etc/supervisor/conf.d目錄,請自建
寫用supervisor管理程序,配置如下:
cd /etc/supervisor/conf.d/
vim my.conf # 這裡檔名可以自定義
加入以下內容
;設定程序的名稱,使用 uervisorctl 來管理程序時需要使用該程序名 [program:root] command=python3 /root/test_dome/manage.py runserver 0.0.0.0:8000 ;numprocs=1 ; 預設為1 ;process_name=%(program_name)s ; 預設為 %(program_name)s,即 [program:x] 中的 x directory=/root/test_dome/ ; 執行 command 之前,先切換到工作目錄 user=root ; 使用 root 使用者來啟動該程序 ; 程式崩潰時自動重啟,重啟次數是有限制的,預設為3次 autorestart=true redirect_stderr=true ; 重定向輸出的日誌 stdout_logfile = /root/test_dome/log.log loglevel=info
更改了supervisor配置檔案,需要重啟,執行以下指令:
supervisorctl reload
4.supervisorctl的用法
supervisord : 啟動supervisor
supervisorctl reload :修改完配置檔案後重新啟動supervisor
supervisorctl status :檢視supervisor監管的程序狀態
supervisorctl start 程序名 :啟動XXX程序
supervisorctl stop 程序名 :停止XXX程序
supervisorctl stop all:停止全部程序,注:start、restart、stop都不會載入最新的配置檔案。
supervisorctl update:根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟
三、設定開機啟動