supervisor 監控nginx意外停止後自啟

2021-09-27 10:43:05 字數 2231 閱讀 8903

1.安裝python包管理工具(easy_install):

yum install python-setuptools -y

2.安裝supervisor:

easy_install supervisor

3.配置supervisor應用守護

通過執行echo_supervisord_conf程式生成supervisor的初始化配置檔案,如下所示:

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

然後檢視路徑下的supervisord.conf。在檔案尾部新增如下配置。

[include]

files = conf.d/*.conf

conf.d 為配置表目錄的資料夾,需要手動建立

mkdir /etc/supervisor/conf.d

為你的程式建立乙個.conf檔案,放在目錄"/etc/supervisor/conf.d/"下

vim supervisor_nginx.conf

[program:supervisor_nginx]

command=nginx -c /etc/nginx/nginx.conf -g 『daemon off;』

directory=/usr/local/nginx/sbin

autorestart=true

stderr_logfile=/var/log/supervisor_nginx.err.log

stdout_logfile=/var/log/supervisor_nginx.out.log

user=root

說明:第一行:supervisor_nginx為程序名字,自定義

第二行:程序啟動命令, -g 'daemon off;'代表nginx在前台執行

第三行:命令所在目錄

第四行:程式意外退出是否自動重啟

第五行:錯誤日誌

第六行:輸出日誌

第七行:程序執行的使用者身份

command = /usr/local/bin/nginx 這個命令預設是後台啟動,但是supervisor不能監控後台程式,所以supervisor就一直執行這個命令。

加上-g 'daemon off;'這個引數可解決這問題,這個引數的意思是在前台執行。

4.啟動supervisor:

supervisord -c /etc/supervisor/supervisord.conf

5.配置supervisor開機啟動

vim /usr/lib/systemd/system/supervisord.service

[unit]

description=supervisor daemon

[service]

type=forking

execstart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf

execstop=/usr/bin/supervisorctl shutdown

execreload=/usr/bin/supervisorctl reload

killmode=process

restart=on-failure

restartsec=42s

[install]

wantedby=multi-user.target

執行自啟命令:

systemctl enable supervisord

驗證是否已設定為自啟動:

systemctl is-enabled supervisord

6.測試:

檢視nginx的程序號,然後執行nginx -s stop,之後再檢視nginx程序號,發現程序號已經改變了,說明nginx在被停止後被supervisor自動拉起來了。

7.常用命令:

supervisorctl restart ;重啟指定應用

supervisorctl stop ;停止指定應用

supervisorctl start ;啟動指定應用

supervisorctl restart all ;重啟所有應用

supervisorctl stop all ;停止所有應用

supervisorctl start all ;啟動所有應用

例如:supervisorctl restart supervisor_nginx就是重啟nginx專案

supervisor 監控服務

寫了乙個ftp服務,用supervisor監控一下 1.先寫乙個配置檔案,路徑和名稱為 etc supervisord.conf.d ftp server.ini program ftp server command usr local bin python data ftp server ftp ...

celery程式設計 supervisor監控

二 使用配置檔案 啟動celery命令 三 定時任務 四 flower監控中介軟體 五 supervisor管理程序 主角 celery 配角 redis 或者 rabbitmq linux pip install reids celerywindows pip install redis even...

使用supervisor監控程序

10 26 09,876 info success meta.txn.recover.on.error entered running state,process has stayed up for than 1 seconds startsecs 2010 08 17 10 26 48,442 i...