你好,我是dr.葉子,用心寫最優美的部落格,彈最好聽的鋼琴!
當乙個程序必須不斷執行,但是這個程序可能因為伺服器等多種因素而導致中斷。這時候,我們希望能自動重新啟動它,就需要使用到了supervisor 起到守護程序的作用。
# 聯網安裝
pip install supervisor
pypi官網:
# 或者 supervisor-4.2.1-py2.py3-none-any.whl ,解壓安裝
pip install supervisor-4.2.1-py2.py3-none-any.whl
# 執行命令,如果有顯示,且沒報錯,安裝成功。
echo_supervisord_conf
# 步驟1:執行 echo_supervisord_conf 命令生成 supervisor 的初始化配置檔案
echo_supervisord_conf > /etc/supervisord.conf
# 步驟2:編輯 supervisord.conf
vim /etc/supervisord.conf
# 步驟3:修改以下原有的預設配置
# 原先/tmp/目錄是快取目錄,linux 會根據不同情況自動刪除其下面的檔案,所以需要替換成/var/目錄,防止報錯
# 步驟4:新增以下配置
[program:nginx]
command
=/usr/local/nginx/sbin/nginx -s reload ; 程式啟動命令
autostart
=true ; 在supervisord啟動的時候也自動啟動
startsecs=10
; 啟動10秒後沒有異常退出,就表示程序正常啟動了,預設為1秒
autorestart
=true ; 程式退出後自動重啟,可選值:[unexpected,true,false],預設為unexpected,表示程序意外殺死後才重啟
startretries=3
; 啟動失敗自動重試次數,預設是3
user
=root ; 用哪個使用者啟動程序,預設是root
priority
=999
; 程序啟動優先順序,預設999,值小的優先啟動
redirect_stderr
=true ; 把stderr重定向到stdout,預設false
stdout_logfile_maxbytes
=20mb ; stdout 日誌檔案大小,預設50mb
stdout_logfile_backups =
20; stdout 日誌檔案備份數,預設是10
stdout_logfile
=/usr/local/nginx/logs/nginx.out ; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案)
stopasgroup
=false ; 預設為false,程序被殺死時,是否向這個程序組傳送stop訊號,包括子程序
killasgroup
=false ; 預設為false,向程序組傳送kill訊號,包括子程序
# 步驟5:儲存退出
esc按鍵
:wq# 步驟6:啟動 supervisord 服務。預設去找 /etc/supervisord.conf 這個配置檔案
supervisord
# 檢視 supervisord 服務是否在執行
ps aux |
grep supervisord
# 檢視 supervisord 服務是否生效
ps -ef |
grep nginx
注意:「;」分號為注釋標識。操作
執行命令
重啟supervisorctl restart
更新配置檔案
supervisorctl update
檢視所有程序的狀態
supervisorctl status
停止所有程序
supervisorctl stop all
啟動所有程序
supervisorctl start all
重啟所有程序
supervisorctl reload all
新增supervisor.sock鏈結
unlink /var/run/supervisor/supervisor.sock
指定配置檔案啟動
supervisord -c /etc/supervisord.conf
: python—守護程序管理工具(supervisor)
: 使用supervisor守護python程序
csdn: supervisor配置 nginx
csdn: 「unix:///tmp/supervisor.sock no such file「 錯誤解決方案
csdn: supervisor出現unlinking stale socket /tmp/supervisor、unix:/run/supervisor/supervisor.sock no such file
以上內容本人整理,親測可行,如有任何問題,敬請指正,謝謝~~
點讚、收藏、也歡迎打賞,我彈鋼琴你聽呀~~哈哈!
supervisor安裝配置與nginx實操
supervisor是用python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台daemon,並監控程序狀態,異常退出時能自動重啟。它是通過fork exec的方式把這些被管理的程序當作supervisor的子程序來啟動,這樣只要在supervisor的配置檔案中,把要管理的程序的...
Supervisor服務的安裝與配置
目錄 三 應用配置 一些命令解釋 supervisor 要安裝的軟體的名稱。supervisord 裝好supervisor軟體後,supervisord用於啟動supervisor服務。supervisorctl 用於管理supervisor配置檔案中program。yum install epe...
supervisor安裝和配置
本文皆為自己實驗結果,筆記而已。安裝 1 解壓縮,進入目錄執行python setup.py install 2 進入python環境輸入import supervisor測試安裝與否 3 假如之前新增了python環境變數可直接執行echo supervisord conf etc supervi...