運(yùn)維:Centos8安裝supervisor守護(hù)Nginx進(jìn)程筆記
今天給大家分享Centos8操作系統(tǒng)下如何安裝supervisor進(jìn)程管理程序并守護(hù)Nginx進(jìn)程,希望對(duì)大家能有所幫助!
supervisor介紹
1.1 簡(jiǎn)介
Supervisor是基于Python語(yǔ)言開(kāi)發(fā)的一套的進(jìn)程管理程序,它可以將一個(gè)普通的命令行進(jìn)程變?yōu)楹笈_(tái)daemon,并監(jiān)控進(jìn)程狀態(tài),異常退出時(shí)支持自動(dòng)重啟。
1.2 工作原理
它主要是通過(guò)fork/exec的方式把這些被管理的進(jìn)程當(dāng)作supervisor的子進(jìn)程來(lái)啟動(dòng),這樣只要在supervisor的配置文件中,把要管理的進(jìn)程的可執(zhí)行文件的路徑寫(xiě)進(jìn)去即可。也實(shí)現(xiàn)當(dāng)子進(jìn)程掛掉的時(shí)候,父進(jìn)程可以準(zhǔn)確獲取子進(jìn)程掛掉的信息的,可以選擇是否自己?jiǎn)?dòng)和預(yù)警。supervisor還提供了一個(gè)功能,可以為supervisord或者每個(gè)子進(jìn)程,設(shè)置一個(gè)非root的user,這個(gè)user就可以管理它對(duì)應(yīng)的進(jìn)程。
1.3 運(yùn)行環(huán)境
supervisor可以運(yùn)行在大多數(shù)類UNIX系統(tǒng),不支持windows系統(tǒng)運(yùn)行,Supervisor運(yùn)行在python3版本3.4或更高版本以及python2版本2.7上工作。
1.4 supervisor 組成
supervisord:supervisor服務(wù)的主要管理器,負(fù)責(zé)管理我們配置的子進(jìn)程,包括重啟崩潰或異常退出的子進(jìn)程,同時(shí)也響應(yīng)來(lái)自客戶端的請(qǐng)求。
supervisorctl:supervisord服務(wù)的客戶端命令行。聽(tīng)過(guò)這個(gè),我們可以獲得由主進(jìn)程控制的子進(jìn)程的狀態(tài),停止和啟動(dòng)子進(jìn)程,并獲得主進(jìn)程的運(yùn)行列表。
Web Server:通過(guò)web界面查看和控制進(jìn)程狀態(tài)。
XML-RPC Interface:服務(wù)于web UI的同一個(gè)HTTP服務(wù)器提供一個(gè)XML-RPC接口,可以用來(lái)詢問(wèn)和控制管理程序及其運(yùn)行的程序。
2、安裝配置步驟
2.1 執(zhí)行安裝命令
yum install supervisor
2.2 回車?yán)^續(xù)
輸入 y 回車?yán)^續(xù)
2.3 啟動(dòng)supervisor服務(wù)
mkdir /run/supervisor
supervisord -c /etc/supervisord.conf
2.4 查看配置文件,并修改配置文件
cat /etc/supervisord.conf
說(shuō)明“:iles = supervisord.d/*.ini 表示會(huì)加載supervisord.d文件夾中的所有.ini配置文件
修改supervisord.conf文件配置web頁(yè)面訪問(wèn)配置內(nèi)容
[inet_http_server] ; #開(kāi)啟web訪問(wèn)
;port=127.0.0.1:9001 ; # 表示內(nèi)網(wǎng)訪問(wèn)
port=*:9001 ;# 表示開(kāi)啟外網(wǎng)訪問(wèn),要注意安全性,不需要外網(wǎng),不要啟用
username=admin ; #訪問(wèn)服務(wù)用戶名
password=admin ; #訪問(wèn)服務(wù)密碼
注意:服務(wù)器要開(kāi)放9001端口訪問(wèn),才可以瀏覽器訪問(wèn)
cd /etc/supervisord.d #進(jìn)入ini文件夾
2.5 創(chuàng)建守護(hù)nginx進(jìn)程配置文件 nginx.ini
[program:nginx]
command=/usr/./sbin/nginx -g 'daemon off;' user=root
autostart=false
autorestart=true
stopasgroup=true
killasgroup=true
stdout_logfile=/etc/supervisord.d/nginx-out.log
stderr_logfile=/etc/supervisord.d/nginx-err.log
注意:要根據(jù)自己服務(wù)器安裝的nginx路徑為準(zhǔn)來(lái)配置nginx.ini 文件。
2.6 添加配置文件后重啟
supervisorctl # 進(jìn)入 supervisor控制臺(tái)
admin #輸入用戶名
admin #輸入密碼
reload # 重啟命令
2.7 停止掉自己服務(wù)器運(yùn)行的nginx,使用Supervisor 進(jìn)行管理
cd /usr/sbin
./nginx -s stop
訪問(wèn)地址: http://127.0.0.1:9001/
訪問(wèn)主頁(yè)面如下
啟動(dòng)nginx
nginx如果可以正常訪問(wèn)表示安裝成功了。
作者:郝光明 IT技術(shù)分享社區(qū)
歡迎關(guān)注:IT技術(shù)分享社區(qū)