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