Python學習筆記【Supervisor】:使用Supervisor監控Tornado程序
Linux常見應用服務配置模式nginx和supervisor:採用主配置檔案+專案配置檔案
安裝(如果使用pip安裝注意看是否需要指定使用python2版本)
第一步:在Linux中使用apt-get 指令安裝
sudo apt-get install supervisor
第二步:檢查或建立主服務配置檔案
輸入指令:sudo supervisord 如果出現以下內容說明沒有主配置檔案
檢查主配置檔案 /etc/supervisor/supervisord.conf(如果不存在就需要建立)
建立方法:使用命令生成一個主配置檔案
sudo echo_supervisord_conf > /etc/supervisor/supervisord.conf
這個命令比較特殊,因為要使用root使用者許可權。所以我們先把supervisord.conf 檔案先生成到當前目錄下(專案根目錄下)。
echo_supervisord_conf > supervisord.conf
然後在建立一個資料夾 mkdir deploy 把上面建立的supervisord.conf主程序檔案移動到這個資料夾中(這個目錄也可以通過pycharm在專案的根目錄下建立也可以)
檢視主配置檔案supervisord.conf 檢查include配置 沒有就加上其它專案配置檔案目錄地址。
Settings->Editor->FileTypes->Ini:點選加號新增檔案字尾
現在我們已經把著配置檔案已經建立好了,但是現在這個主配置檔案是在我們專案的根目錄下結構是 如下:
現在我們需要把這個主配置檔案複製到 /etc/supervisor/supervisord.conf
sudo cp deploy/supervisord.conf /etc/supervisor/
然後使用 ls -l /etc/supervisor/ 命令檢視是否已經複製過去了。
注意:當我們專案中supervisord.conf檔案進行了編輯修改,我們都需要再次執行 sudo cp deploy/supervisord.conf /etc/supervisor/ 命令。(因為要保持專案中的supervisord.conf檔案和 /etc/supervisor/supervisord.conf資料夾中的supervisord.conf檔案一致)
第三步:檢查supervisord執行狀態
使用 ps -ef|grep super指令檢視首次安裝應該只有下面一個程序
啟動一個程序:supervisord 再次檢視
第四步:配置專案配置檔案
在專案的deploy資料夾中創一個專案配置檔案tudo_super.conf(隨便命名)
引數說明看備註。
然後將這個專案配置檔案複製到 /etc/supervisor/conf.d/
在Linux中執行指令:sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/
sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/
檢視是否已經複製過去了
最後重新啟動 (這裡可能有不同錯誤,需要根據日誌去排查bug 向我這裡就是因為專案配置檔案里路徑寫錯了。)
注意命令是否需要root許可權 就是加不加sudo
通過 ps -ef|grep python 指令檢視並沒有啟動我專案配置的8000埠的程式
需要通過sudo supervisorctl status指令檢視,這時候發現出錯了,可以結合配置的日誌路徑去檢視輸出的日誌。解決bug
通過 sudo supervisorctl start tornadoes:tornado-8000 來啟動
注意:當專案中配置檔案(tudo_super.conf)進行修改了,也需要複製到 /etc/supervisor/conf.d/目錄下 ,
也就是必須在執行一遍複製命令:sudo cp deploy/tudo_super.conf /etc/supervisor/conf.d/
啟動成功:
這樣我們的專案通過supervisor成功啟動起來了。
supervisorctl 命令介紹
使用web視窗管理supervisorctl(在主配置檔案中修改如下配置)
注意:這時候你修改了專案中的主配置檔案,不要忘記同步/etc/supervisor/supervisord.conf 檔案 ,在Linux系統中直接執行復制命令:sudo cp deploy/supervisord.conf /etc/supervisor/
然後重啟 supervisor,開啟頁面輸入地址127.0.0.1:9001 回車即可。