supervisor是乙個利用python開發的程序管理工具,可以控制其所管理的程序,包括但不限於其所管理程式異常退出時的重啟
利用linux自帶的包管理命令或者python的包管理命令即可安裝
debian
apt-get install supervisor
cent
yum install supervisor
arch
pacman -s supervisor
pip
pip install supervisor
不同的安裝方式配置檔案所在的目錄可能有所差異,甚至沒有生成預設的配置檔案,以arch為例配置檔案在/etc目錄下,路徑為/etc/supervisord.conf
。一般來說/etc目錄就是存放各種配置檔案的。如果配置檔案不存在,或者想修改配置檔案目錄,使用下面命令:
echo_supervisord_conf > /路徑名/supervisord.conf
重點關注檔案最後兩行,
[include]
/etc/supervisor.d/*.ini
這裡寫的是所管理的程序的配置檔案所在路徑以及檔案格式,可以看到預設的是.ini
檔案也可以修改為.conf
檔案
第一次啟動命令
supervisord -c /etc/supervisord.conf
設定開機自啟
systemctl enable supervisord
正如上面所介紹,supervisor的子程序配置檔案目錄已經在supervisord.conf檔案中寫好,或者你也可以修改為自定義的目錄,
supervisord管理的程序可以有多個,多個程序的配置檔案可以寫在多個檔案中,也可以寫在乙個配置檔案中,通常是乙個專案相關的程序寫在乙個檔案中,
配置檔案模版(.conf檔案):
[program:blog] ;專案名
directory=/opt/bin ;指令碼目錄
command=/usr/bin/python /opt/bin/test.py ;指令碼執行命令
autostart=true ;supervisor啟動的時候是否隨著同時啟動,預設true
autorestart=false ;當程式exit的時候,這個program不會自動重啟,預設unexpected,設定子程序掛掉後自動重啟的情況,有三個選項,false,unexpected和true。如果為false的時候,無論什麼情況下,都不會被重新啟動,如果為unexpected,只有當程序的退出碼不在下面的exitcodes裡面定義的
startsecs=1 ;這個選項是子程序啟動多少秒之後,此時狀態如果是running,則我們認為啟動成功了。預設值為1
user = test ;指令碼執行的使用者身份
stderr_logfile=/tmp/blog_stderr.log ;標準錯誤日誌輸出
stdout_logfile=/tmp/blog_stdout.log ;標準輸出日誌輸出
redirect_stderr = true ;把stderr重定向到stdout,預設 false
stdout_logfile_maxbytes = 20mb ;stdout日誌檔案大小,預設 50mb
stdout_logfile_backups = 20 ;stdout日誌檔案備份數
supervisorctl status //檢視所有程序的狀態
supervisorctl stop es //停止es
supervisorctl start es //啟動es
supervisorctl restart //重啟es
supervisorctl update //配置檔案修改後使用該命令載入新的配置
supervisorctl reload //重新啟動配置中的所有程式
注:把es
換成all
可以管理配置中的所有程序。直接輸入supervisorctl
進入supervisorctl的shell互動介面,此時上面的命令不帶supervisorctl可直接使用。 安裝使用supervisor
yum install python setuptools easy install supervisor 測試安裝是否成功 echo supervisord conf 2.建立配置檔案 建立supervisor配置檔案目錄 etc supervisor mkdir m 755 p etc supe...
supervisor使用詳解
1.什麼是supervisor supervisor是用python寫的乙個程序管理工具,用來啟動,重啟,關閉程序。2.supervisor的安裝 pip install supervisor3.supervisor的配置檔案 supervisor安裝完畢後,會有乙個配置檔案supervisord....
supervisor 配置使用
supervisor是用python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台daemon,並監控程序狀態,異常退出時能自動重啟。我們可以在你的 ubuntu 上安裝乙個叫做 supervisor 的程式來管理你的指令碼啟動。sudo apt get install superv...