supervisor安裝/配置
一丶介紹
為了保證web項(xiàng)目一直處于運(yùn)行狀態(tài),在程序遇到異常丶報(bào)錯(cuò)時(shí),立即重啟服務(wù)
二丶簡(jiǎn)介
supervisor是使用python編寫的一個(gè)進(jìn)程管理工具,可以在linux系統(tǒng)下啟動(dòng),重啟,關(guān)閉進(jìn)程
三丶安裝
1.python安裝:pip install supervisor(不推薦)
1.源碼安裝:https://pypi.python.org/pypi/supervisor
>>>cd /usr/local/src
>>>wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419ea/supervisor-3.3.2.tar.gz
>>>tar -zxvf supervisor-3.3.2.tar.gz
2.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf
3.啟動(dòng):supervisord -c /etc/supervisord.conf
四丶Supervisor 配置
Supervisor 是一個(gè) C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端。
1.supervisor配置
# vim /etc/supervisord.conf
# 配置文件底部,配置include
[include]
files=/etc/supervisor/*.conf # 引入 `/etc/supervisor/conf.d/` 下的 `.conf` 文件,若你本地?zé)o/etc/supervisor目錄,請(qǐng)自建
2.program 配置
rogram 的配置文件就寫在,supervisord 配置中 include 項(xiàng)的路徑下:
# /etc/supervisor/conf.d/ 目錄下創(chuàng)建xxx.conf文件
# vim xxx.conf
[program:app] ; 程序名稱,在 supervisorctl 中通過(guò)這個(gè)值來(lái)對(duì)程序進(jìn)行一系列的操作
autorestart=True ; 程序異常退出后自動(dòng)重啟
autostart=True ; 在 supervisord 啟動(dòng)的時(shí)候也自動(dòng)啟動(dòng)
redirect_stderr=True ; 把 stderr 重定向到 stdout,默認(rèn) false
environment=PATH="/home/app_env/bin" ; 可以通過(guò) environment 來(lái)添加需要的環(huán)境變量,一種常見(jiàn)的用法是使用指定的 virtualenv 環(huán)境
command=python server.py ; 啟動(dòng)命令,與手動(dòng)在命令行啟動(dòng)的命令是一樣的
user=ubuntu ; 用哪個(gè)用戶啟動(dòng)
directory=/home/app/ ; 程序的啟動(dòng)目錄
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默認(rèn) 50MB
stdout_logfile_backups = 20 ; stdout 日志文件備份數(shù)
; stdout 日志文件,需要注意當(dāng)指定目錄不存在時(shí)無(wú)法正常啟動(dòng),所以需要手動(dòng)創(chuàng)建目錄(supervisord 會(huì)自動(dòng)創(chuàng)建日志文件)
stdout_logfile = /data/logs/usercenter_stdout.log
五丶supervisorctl常用命令
supervisord : 啟動(dòng)supervisor
supervisorctl reload :修改完配置文件后重新啟動(dòng)supervisor
supervisorctl status :查看supervisor監(jiān)管的進(jìn)程狀態(tài)
supervisorctl start 進(jìn)程名 :?jiǎn)?dòng)XXX進(jìn)程
supervisorctl stop 進(jìn)程名 :停止XXX進(jìn)程
supervisorctl stop all:停止全部進(jìn)程,注:start、restart、stop都不會(huì)載入最新的配置文件。
supervisorctl update:根據(jù)最新的配置文件,啟動(dòng)新配置或有改動(dòng)的進(jìn)程,配置沒(méi)有改動(dòng)的進(jìn)程不會(huì)受影響而重啟

浙公網(wǎng)安備 33010602011771號(hào)