程序管理工具Supervisord

2021-09-13 01:33:40 字數 2057 閱讀 5115

在 web 應用部署到線上後,需要保證應用一直處於執行狀態,在遇到程式異常、報錯等情況,導致 web 應用終止時,需要保證程式可以立刻重啟,繼續提供服務。

所以,就需要乙個工具,時刻監控 web 應用的運**況,管理該程序。

supervisor 就是解決這種需求的工具,可以保證程式崩潰後,重新把程式啟動起來等功能。

supervisor 是乙個用 python 寫的程序管理工具,可以很方便的用來在 unix-like 系統(不支援 windows)下啟動、重啟(自動重啟程式)、關閉程序(不僅僅是 python 程序)。
# via easy_install

$ easy_install supervisor

# via pip

# yum intall epel-release

# yum install python-pip

$ pip install supervisor

# 建立配置檔案

$ echo_supervisord_conf >> /etc/supervisord.conf

# 修改配置 /etc/supervisord.conf

[include]

files = /etc/supervisord.conf.d/*.conf

# 新建管理的應用

$ cd /etc/supervisord.conf.d

$ vim beepkg.conf

# 配置檔案:

[program:beepkg] ; 程式名稱,在 supervisorctl 中通過這個值來對程式進行一系列的操作

autostart=true ; 在 supervisord 啟動的時候也自動啟動

autorestart=unexpected ; 程式異常退出後自動重啟

startsecs=5

user=root ; 用哪個使用者啟動

redirect_stderr=true ; 把 stderr 重定向到 stdout,預設 false

; stdout 日誌檔案,需要注意當指定目錄不存在時無法正常啟動,所以需要手動建立目錄(supervisord 會自動建立日誌檔案)

stdout_logfile =/data/log/beepkg.log

stdout_logfile_maxbytes=20mb ; stdout 日誌檔案大小,預設 50mb

stdout_logfile_backups=20 ; stdout 日誌檔案備份數

supervisord 安裝完成後有兩個可用的命令列 supervisord 和 supervisorctl,命令使用解釋如下
$ supervisord -c /etc/supervisord.conf    # 初始啟動 supervisord,啟動、管理配置中設定的程序。

$ supervisorctl stop beepkg #停止某乙個程序(program***),program*** 為 [program:beepkg] 裡配置的值,這個示例就是 beepkg。

$ supervisorctl start beepkg #啟動某個程序

$ supervisorctl restart beepkg #重啟某個程序

$ supervisorctl stop groupworker: #重啟所有屬於名為 groupworker 這個分組的程序(start,restart 同理)

$ supervisorctl stop all #停止全部程序,注:start、restart、stop 都不會載入最新的配置檔案。

$ supervisorctl reload #載入最新的配置檔案,停止原有程序並按新的配置啟動、管理所有程序。

$ supervisorctl update #根據最新的配置檔案,啟動新配置或有改動的程序,配置沒有改動的程序不會受影響而重啟。

Linux 程序管理工具 supervisor

linux 程序管理工具 supervisor supervisor簡介 在linux伺服器中,有時候我們需要乙個程序需要可靠的在後台執行,並且能夠監控程序狀態,在意外結束時能夠自動重啟等。此時就可以使用supervisor。supervisor 是使用python開發的一套通用的程序管理程式,能夠...

Linux程序管理工具Supervisor

supervisor是用python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台daemon,並監控程序狀態,異常退出時能自動重啟。它是通過fork exec的方式把這些被管理的程序當作supervisor的子程序來啟動,這樣只要在supervisor的配置檔案中,把要管理的程序的...

程序管理工具

程序管理 pstree作用是以程序樹的形式顯示程序 例如 pstree 8123 顯示程序名不顯示各個程序號 pstree p 8123 顯示程序名稱及各級程序的程序號 ps作用是顯示當前所有執行程序的詳細資訊 例如 ps aux 顯示所有包含其他使用者的行程 ps aux 選項 a 顯示包括所有終...