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 回車即可。