supervisor安裝/配置

一丶介紹

爲了保證web項目一直處於運行狀態,在程序遇到異常丶報錯時,當即重啓服務html

二丶簡介

supervisor是使用python編寫的一個進程管理工具,能夠在linux系統下啓動,重啓,關閉進程python

三丶安裝

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.啓動:supervisord -c /etc/supervisord.conf

四丶Supervisor 配置

Supervisor 是一個 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端。linux

1.supervisor配置

# vim /etc/supervisord.conf
# 配置文件底部,配置include
[include]
files=/etc/supervisor/*.conf # 引入 `/etc/supervisor/conf.d/` 下的 `.conf` 文件,若你本地無/etc/supervisor目錄,請自建

2.program 配置

rogram 的配置文件就寫在,supervisord 配置中 include 項的路徑下:web

# /etc/supervisor/conf.d/ 目錄下建立xxx.conf文件
# vim xxx.conf
[program:app] ; 程序名稱,在 supervisorctl 中經過這個值來對程序進行一系列的操做
autorestart=True      ; 程序異常退出後自動重啓
autostart=True        ; 在 supervisord 啓動的時候也自動啓動
redirect_stderr=True  ; 把 stderr 重定向到 stdout,默認 false
environment=PATH="/home/app_env/bin"  ; 能夠經過 environment 來添加須要的環境變量,一種常見的用法是使用指定的 virtualenv 環境
command=python server.py  ; 啓動命令,與手動在命令行啓動的命令是同樣的
user=ubuntu           ; 用哪一個用戶啓動
directory=/home/app/  ; 程序的啓動目錄
stdout_logfile_maxbytes = 20MB  ; stdout 日誌文件大小,默認 50MB
stdout_logfile_backups = 20     ; stdout 日誌文件備份數
; stdout 日誌文件,須要注意當指定目錄不存在時沒法正常啓動,因此須要手動建立目錄(supervisord 會自動建立日誌文件)
stdout_logfile = /data/logs/usercenter_stdout.log

五丶supervisorctl經常使用命令

supervisord : 啓動supervisor
supervisorctl reload :修改完配置文件後從新啓動supervisor
supervisorctl status :查看supervisor監管的進程狀態
supervisorctl start 進程名 :啓動XXX進程
supervisorctl stop 進程名 :中止XXX進程
supervisorctl stop all:中止所有進程,注:start、restart、stop都不會載入最新的配置文件。
supervisorctl update:根據最新的配置文件,啓動新配置或有改動的進程,配置沒有改動的進程不會受影響而重啓

參考:https://www.jianshu.com/p/3658c963d28bubuntu

http://www.javashuo.com/article/p-uqvvzzmt-cq.htmlvim

相關文章
相關標籤/搜索