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