1. 程式人生 > >linux 使用程序管理工具 supervisor

linux 使用程序管理工具 supervisor

1.supervisor是使用python進行開發的執行在linux伺服器上的程序管理工具
    supervisor需要執行在python2環境,如果需要使用supervisor管理python3的專案,需要藉助於虛擬環境

2.安裝supervisor:
    pip install supervisor

3.生成配置檔案:echo_supervisord_conf > /etc/supervisord.conf, 當進行到這一步時,終端提示需要    
    apt install supervisor,如果有該提示,執行命令進行安裝即可,如果沒有提示則忽略

4.編輯配置檔案:vim /etc/supervisord.conf

    
1)修改最後兩行,去掉前面的分號。 [include] files = /etc/supervisord/*.conf files:管理程序的配置檔案的路徑,每一個程序都需要單獨配置一個配置檔案,這裡需要根據實際情況配置 2)開啟web控制檯:找到如下幾行,去掉註釋 [inet_http_server]   ; inet (TCP) server disabled by default port=0.0.0.0:9001    ; ip_address:port specifier, *:port for all iface username
=admin    ; default is no username (open server) password=123456    ; default is no password (open server) 配置了這些引數以後就可以使用相應的使用者名稱稱和密碼通過訪問指定的ip和埠,從而通過web介面,管理程序,檢視日誌等 5.新增管理程序的目錄 mkdir -p /etc/supervisord/ 這裡的目錄需要和配置檔案 supervisord.conf 裡的 files 引數保持一致 6.新新增一個test1程序,進行管理 vim
/etc/supervisord/test1.conf 路徑需要和配置檔案 supervisord.conf 裡的 files 引數保持一致 [program:test1] user=root directory=/usr/local/test/ command=/usr/bin/python /usr/local/test/test.py autostart=true autorestart=true loglevel=debug log_stderr=true stdout_logfile=/var/log/test1.log redirect_stderr=true 說明: 1)每個程序的配置檔案都必須擁有一個唯一的program名稱 2)command 就是需要在終端進行輸出的命令,通過命令啟動程序 3)當有多個程序時,就需要定義多個程序管理配置檔案 6.啟動supervisor supervisord -c /etc/supervisord.conf 當啟動supervisor管理工具時,也會同時啟動所有新增到了管理中程序 7.檢視新增到管理中的程序的狀態 supervisorctl status 可以檢視到每一個程序名稱(program名稱)所對應的狀態 8.根據程序名稱關閉,啟動,重啟程序 supervisorctl stop test1 supervisorctl start test1 supervisorctl restart test1 9.關閉supervisor ps -ef | grep super 然後 kill -9 程序號 殺死程序 注意: 直接殺掉supervisor的主程序,被管理的程序仍然執行狀態,所以記得先stop被管理的程序。 如果修改了任意一個配置檔案,都需要重啟supervisor。