supervisor安裝配置與nginx實操

2021-10-08 07:43:42 字數 4192 閱讀 4048

supervisor是用python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台daemon,並監控程序狀態,異常退出時能自動重啟。它是通過fork/exec的方式把這些被管理的程序當作supervisor的子程序來啟動,這樣只要在supervisor的配置檔案中,把要管理的程序的可執行檔案的路徑寫進去即可。也實現當子程序掛掉的時候,父程序可以準確獲取子程序掛掉的資訊的,可以選擇是否自己啟動和報警。supervisor還提供了乙個功能,可以為supervisord或者每個子程序,設定乙個非root的user,這個user就可以管理它對應的程序

[root@master ~]

# cat /etc/redhat-release

centos linux release 7.2.1511 (core)

yum install supervisor -y
列印示例內容到終端

echo_supervisord_conf
生成配置檔案

echo_supervisord_conf > /etc/supervisord.conf
常用配置介紹

欄位名稱

注釋port=127.0.0.1:9001

管理**埠

username=user

管理**使用者名稱

password=123

管理**密碼

files = relative/directory/*.ini

配置檔案存放目錄及格式

啟動

supervisord -c /etc/supervisord.conf
加入自啟動

systemctl enable supervisord
服務資訊檢視

[root@master src]

# ps -ef|grep supervisor

root 29019 1 0 14:42 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

root 29110 8863 0 14:43 pts/1 00:00:00 grep --color=auto supervisor

停止supervisor

[root@master src]

# supervisorctl shutdown

shut down

[root@master src]

# supervisorctl reload

restarted supervisord

新建配置檔案目錄,最下面的配置路徑,預設為

files = relative/directory/*.ini
可更改

files = /etc/supervisor/*.ini
mkdir -p /etc/supervisor/
/etc/supervisor/新建nginx.ini

vim /etc/supervisor/nginx.ini

#-----------------------------------

[program: nginx]

# 修改自己的路徑

autorestart=true ;

autostart=true ;

#這是nginx日誌路徑,web會用到

environment=aspnetcore_environment=production ;

user=root ;

#啟動使用者

stopsignal=int

startsecs=10 ;

startretries=5 ;

stopasgroup=true

重啟supervisor

[root@master etc]

# supervisorctl -c /etc/supervisord.conf reload

restarted supervisord

發現如下報錯

(file: '/etc/supervisor/nginx.ini'

)for help, use /usr/bin/supervisord -h

這個錯誤的原因是日誌不存在,手動建立即可

再次重啟,發現啟動成功

檢視nginx程序

[root@master supervisor]

# ps -ef|grep nginx

使用supervisor檢視nginx資訊

[root@master supervisor]

# supervisorctl status

nginx running pid 2154, uptime 0:02:40

使用supervisor關閉nginx

[root@master supervisor]

# supervisorctl stop nginx

nginx: stopped

再次檢視

[root@master supervisor]

# supervisorctl status

nginx stopped jul 20 03:45 pm

supervisor啟動nginx

[root@master supervisor]

# supervisorctl start nginx

nginx: started

[root@master supervisor]

# supervisorctl status

nginx running pid 2322, uptime 0:00:13

手動關閉nginx程序,看supervisor是否會拉起

[root@master supervisor]

# pkill nginx

[root@master supervisor]

# ps -ef|grep nginx

root 2406 2405 0 15:48 ? 00:00:00 nginx: worker process

拉起成功

修改/etc/supervisord.conf,開啟以下幾行注釋

瀏覽器訪問驗證

輸入配置檔案中的賬號密碼

即可通過瀏覽器對nginx進行操作,以及檢視日誌等,到此就全部完成了。

碼字不易,請多多點贊

supervisor安裝配置

linux的後台程序執行有好幾種方法,例如nohup,screen等,但如果是乙個服務程式要可靠地在後台執行,我們就需要把它做成daemon,最好還能監控程序狀態,在意外結束時能自動重啟。而supervisor是python開發的一套通用的程序管理程式,能將乙個普通的命令列程序變為後台daemon,...

Supervisor安裝與配置程序守護

你好,我是dr.葉子,用心寫最優美的部落格,彈最好聽的鋼琴!當乙個程序必須不斷執行,但是這個程序可能因為伺服器等多種因素而導致中斷。這時候,我們希望能自動重新啟動它,就需要使用到了supervisor 起到守護程序的作用。聯網安裝 pip install supervisor pypi官網 或者 s...

Supervisor服務的安裝與配置

目錄 三 應用配置 一些命令解釋 supervisor 要安裝的軟體的名稱。supervisord 裝好supervisor軟體後,supervisord用於啟動supervisor服務。supervisorctl 用於管理supervisor配置檔案中program。yum install epe...