supervisor docs
使用ssh遠端維護vps時候,要在後台掛起乙個程式。掛起程式很簡單,在command後加上&
符號就可以,但是當斷開ssh時候,掛起的程式也隨之killed, 很是惱火。在使用nohup的時候意外發現了supervisor,supervisor使用python開發,通過配置檔案來配置需要啟動監管的程式,作為supervisord
的子程序。執行程式supervisord即『守護程序』(daemon)[在希臘神話中是守護神的意思!類似中國的**?daemon這個詞和惡魔(demon)只差乙個字母,且發音完全一樣!多的a這個品質可理解為全神關注的(absorbed)/精確的(accurate)/能幹的(able)/樂於助人的(accommodating)/友好的(amicable)]。類似httpd,mysqld最後的d字母意為守護程式。
easy_install supervisor
orpip3 install supervisor
orsudo apt install supervisor
執行命令echo_supervisord_conf
回顯預設的初始配置檔案。
可通過管道命令將配置檔案重定向到某個目錄,eg:echo_supervisord_conf > /etc/supervisord.conf
以root使用者執行需要增加user=root
supervisord -c supervisor.conf
啟用web監控服務
通過瀏覽器遠端管理,啟動停止程式,檢視日誌等,非常方便。
sudo service supervisor restart
http server控制面板生效
配置redis開機自啟服務
sudo supervisorctl
whereis supervisor
sudo vim /etc/supervisord.conf
[program:redisserver]
command=/opt/redis/src/redis-server /opt/redis/redis.conf
autostart=true
autorestart=true
startsecs=0
user=root
stdout_logfile=/var/log/redis/stdout.log
stderr_logfile=/var/log/redis/stderr.log
mkdir /var/log/redis # 首先建立日誌目錄
sudo supervisorctl update # 更新 supervisord.conf 後生效
配置簡單的http服務
例如要在vps上啟用乙個簡單的http服務,用於分享download目錄下的檔案
日誌目錄需要手動建立mkdir /var/log/
配置服務的環境變數
如果程式需要環境變數,那麼需要手動新增environment
首先使用env
檢視所有的環境變數,然後拼接所需的變數,通過:
和,
間隔,示例:
[program:***-server]
;...
environment=pythonpath=/home/***/***x:/home/***/ooo,path=/home/***/lib
;...
[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-amp8qf8o-1613829904942)(supervisor-subprocess-transitions.png)]
七種狀態
第八種unknown(由supervisord出錯引起)
使用supervisor監控程序
10 26 09,876 info success meta.txn.recover.on.error entered running state,process has stayed up for than 1 seconds startsecs 2010 08 17 10 26 48,442 i...
使用Superivisor監控管理程序
1.superivisor簡介 supervisor是乙個c s系統,它允許使用者在類unix系統上監控和管理一系列的程序。你可以把乙個程序以daemon的形式用supervisor來管理。2.安裝 使用pip來安裝supervisor root test1 pip install supervis...
supervisor 監控服務
寫了乙個ftp服務,用supervisor監控一下 1.先寫乙個配置檔案,路徑和名稱為 etc supervisord.conf.d ftp server.ini program ftp server command usr local bin python data ftp server ftp ...