Supervisor安裝配置及常見故障

1,版本要求:

    ≥python2.4 & <python3

2,安裝命令:
    sudo pip install supervisor

3,配置:
    mkdir /etc/supervisor
    echo_supervisord_conf > /etc/supervisor/supervisord.conf

4,program配置:
    爲方便各個app單獨維護,我自己創建了apps目錄來存儲各個app的配置
        cd /etc/supervisor
    mkdir apps
    然後編輯/etc/supervisor/supervisord.conf,修改include配置項:
        [include]
        files = /etc/supervisor/apps/*.conf

5,啓動:

    用-c參數來指定supervisord.conf的參數:

    supervisord -c /etc/supervisor/supervisord.conf

6,管理:
    # 讀取有更新(增加)的配置文件,不會啓動新添加的程序
    $ supervisorctl reread
    # 重啓配置文件修改過的程序
    $ supervisorctl update
    # 查看程序狀態
    $ supervisorctl status
    # 啓動程序 App_name
    $ supervisorctl start App_name
    # 關閉程序 App_name
    $ supervisorctl stop App_name
    # 重啓程序 App_name
    $ supervisorctl restart App_name
    也可以單獨執行supervisorctl,然後輸入不同的命令


7,program各個常用參數:
    [program:appname]    ;appname配置項
    directory = /path/to/excute/command     ; 在哪個目錄下執行命令
    command = dotnet   testapi.dll     ; 啓動命令,如不設置directory則必須寫絕對路徑
    autostart = true     ; 在 supervisord 啓動的時候也自動啓動
    startsecs = 5        ; 啓動 5 秒後沒有異常退出,就當作已經正常啓動了
    autorestart = true   ; 程序異常退出後自動重啓
    startretries = 3     ; 啓動失敗自動重試次數,默認是 3
    user = python          ; 用哪個用戶啓動
    redirect_stderr = true      ; 把 stderr 重定向到 stdout,默認 false
    stdout_logfile_maxbytes = 20MB      ; stdout 日誌文件大小,默認 50MB
    stdout_logfile_backups = 20     ; stdout 日誌文件備份數
    ; stdout 日誌文件,需要注意當指定目錄不存在時無法正常啓動,所以需要手動創建目錄(supervisord 會自動創建日誌文件)
    stdout_logfile = /data/logs/aiohhttp.log

8,supervisor啓動異常-SPWAN ERROR:

絕大多數是日誌目錄或者日誌文件再或者就是supervisor.log和supervisor.sock文件的讀取權限導致的,例如用root用戶啓動supervisord時,創建的/tmp/supervisor.log和/tmp/supervisor.sock文件,殺掉supervisor後用其他用戶無法正常啓動,經查詢發現這兩個文件的權限屬組用戶其他用戶都沒有寫權限,這時候刪掉文件或更改授權後可正常啓動supervisor
--------------------- 
作者:踏雪追風 
來源:CSDN 
原文:https://blog.csdn.net/u010080628/article/details/79786495 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章