久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

首頁開發(fā)教程Supervisor進(jìn)程高可用工具全方位解析

Supervisor進(jìn)程高可用工具全方位解析

2025-08-01 51

Supervisor是一款專注于進(jìn)程管理與監(jiān)控的工具,由Geoffrey Talvola開發(fā),采用Python語言編寫,尤其適合在類UNIX系統(tǒng)(像Linux和macOS)中使用。Supervisor設(shè)計(jì)初衷是為了簡化進(jìn)程管理流程,確保即便進(jìn)程出現(xiàn)崩潰或意外退出的情況,也能自動將其重啟,進(jìn)而保障系統(tǒng)的穩(wěn)定性和服務(wù)的持續(xù)運(yùn)行。

一、Supervisor特點(diǎn)

由于Linux操作系統(tǒng)本身就內(nèi)置了Python運(yùn)行環(huán)境,而且Supervisor沒有過多的第三方依賴包,整個(gè)離線源碼安裝壓縮包僅500k左右,因此使用和安裝門檻較低,無需我們?yōu)榘惭b該軟件投入過多精力或引入額外的第三方依賴。

Supervisor進(jìn)程高可用工具全方位解析

Supervisor擁有大量的使用者,開源項(xiàng)目活躍度高,當(dāng)遇到問題時(shí),很容易就能搜索到相關(guān)資料,避免了用戶獨(dú)自摸索、踩坑的情況。項(xiàng)目成熟度高,經(jīng)過了市場的長期驗(yàn)證,大家可以放心使用。

二、Supervisor安裝教程

1、Supervisor在線安裝

(1)pip安裝:

pip install supervisor

(2)centos yum安裝

yum install epel-release -y

再執(zhí)行:

yum install supervisor -y。

2、Supervisor離線安裝

在pypi上搜索supervisor包并下載源碼包,地址為:

https://files.pythonhosted.org/packages/ce/37/517989b05849dd6eaa76c148f24517544704895830a50289cbbf53c7efb9/supervisor-4.2.5.tar.gz

或也可通過wget命令下載:

“https://files.pythonhosted.org/packages/ce/37/517989b05849dd6eaa76c148f24517544704895830a50289cbbf53c7efb9/supervisor-4.2.5.tar.gz”

運(yùn)行python3 setup.py install進(jìn)行安裝。若過程中提示缺少某些package,補(bǔ)充相應(yīng)package即可。這些package的安裝方式類似,也是下載源碼包后通過python執(zhí)行setup.py安裝。

三、Supervisor基本架構(gòu)說明

Supervisor運(yùn)行架構(gòu)以客戶端/服務(wù)器(Client/Server)模型為基礎(chǔ),核心組件包括supervisord守護(hù)進(jìn)程、supervisorctl客戶端工具,此外還提供了一個(gè)HTTP服務(wù)器,用于遠(yuǎn)程管理和監(jiān)控。

1、supervisord服務(wù)端

supervisord是Supervisor的核心組件,作為守護(hù)進(jìn)程在服務(wù)器上運(yùn)行,主要職責(zé)如下:

(1)讀取配置文件:從配置文件中獲取被監(jiān)控進(jìn)程的列表及相關(guān)參數(shù)。

(2)管理進(jìn)程:啟動、停止和重啟配置文件中定義的進(jìn)程。

(3)監(jiān)控進(jìn)程狀態(tài):實(shí)時(shí)監(jiān)視進(jìn)程的運(yùn)行狀態(tài),一旦進(jìn)程因某種原因退出,會根據(jù)配置自動重啟。

(4)日志管理:收集被監(jiān)控進(jìn)程的輸出,并將其重定向到日志文件。

(5)事件通知:當(dāng)進(jìn)程狀態(tài)發(fā)生變化時(shí),能夠觸發(fā)預(yù)定義的事件處理程序。

2、supervisorctl客戶端

supervisorctl是一款命令行工具,作為客戶端與supervisord守護(hù)進(jìn)程進(jìn)行通信,可執(zhí)行以下操作:

(1)管理進(jìn)程:實(shí)現(xiàn)進(jìn)程的啟動、停止、重啟,并能顯示進(jìn)程狀態(tài)。

(2)配置管理:在不重啟supervisord的情況下更新配置文件。

(3)事件管理:查看和管理事件處理程序。

(4)連接服務(wù)端:通過與supervisord建立RPC連接來發(fā)送命令和接收響應(yīng),因此只要網(wǎng)絡(luò)可達(dá)且權(quán)限合適,可在任何地方對supervisord進(jìn)行管理。

四、Supervisor使用教程

啟動supervisord守護(hù)進(jìn)程,啟動后默認(rèn)在后臺運(yùn)行,并監(jiān)聽一個(gè)本地socket文件。主配置文件默認(rèn)位于/ect/supervisord/supervisord.conf,我們通常在supervisord.d目錄下定義管理進(jìn)程的.ini配置文件,文件格式大致如下:

[program:mysql] # mysql,程序名稱
directory = /data/mysql/ # 程序所處工作路徑
command=/data/mysql/bin/mysqld # 程序啟動完整命令
autostart=true # 是否掛掉后自動拉起
autorestart=true # 是否掛掉后自動拉起
startretries=3 #重試?yán)鸫螖?shù)
startsecs=20 #多少秒后沒掛,認(rèn)為程序是正常運(yùn)行的
redirect_stderr=true #是否重定向錯(cuò)誤輸出到標(biāo)準(zhǔn)輸出
stdout_logfile=/data/mysql/supervisor-run.log #標(biāo)準(zhǔn)輸出日志路徑

1、執(zhí)行supervisorctl reread重新讀取新的配置信息。

2、運(yùn)行supervisor update mysql啟動托管的mysql任務(wù)。

3、輸入supervisor status查看任務(wù)運(yùn)行情況。

此時(shí)若進(jìn)程意外退出,比如手動執(zhí)行kill -9 $pid,過一會兒會發(fā)現(xiàn)該進(jìn)程會被supervisor重新拉起,從而保證進(jìn)程的正常運(yùn)行。

五、supervisorctl常見子命令詳解

1、start/stop/restart/status

start用于啟動任務(wù)、stop用于停止任務(wù)、restart用于重啟任務(wù)、status用于查看任務(wù)運(yùn)行狀態(tài)列表。

針對單個(gè)任務(wù):

supervisorctl start mysql
supervisorctl stop mysql
supervisorctl restart mysql

針對所有任務(wù):

supervisorctl stop all

查看托管的程序運(yùn)行狀態(tài)列表:

supervisorctl status

2、update

該命令用于更新Supervisor的配置,并重啟所有需要重啟的進(jìn)程,通常在更改配置文件后使用:

supervisorctl update mysql

3、Reread

重新讀取配置文件,但不會重啟任何進(jìn)程,一般用于檢查配置文件的更改是否有效:

supervisorctl reread

4、reload

結(jié)合了reread和update的功能,重新讀取配置文件并更新進(jìn)程:

supervisorctl reload

5、remove

用于移除對一個(gè)或多個(gè)進(jìn)程的監(jiān)控:

supervisorctl remove mysql

6、tail

顯示進(jìn)程的最近日志輸出,其中-f表示跟隨日志的實(shí)時(shí)輸出:

supervisorctl tail -f myapp

  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。

相關(guān)文章