supervisor简介
-  一个python开发的进程管理工具 
-  支持Linux、Unix系统,不支持Windows系统 
-  能将一个普通的命令行进程变为后台deamon,并监控进程状态,异常退出时能自动重启。 
supervisor安装
-  先安装seuptools模块(包管理工具) 
-  再安装supervisor 
easy_install supervisor配置服务
mkdir /etc/supervisorecho_supervisord_conf > /etc/supervisor/supervisord.conf启动supervisor服务
supervisord -c /etc/supervisor/supervisord.conf配置文件详解
这部分看起来是一些默认参数,不用改。
[unix_http_server]
file=/var/run/supervisor/supervisor.sock   ; socket 路径[supervisord]               ; supervisord 全局配置
logfile=/var/log/supervisor/supervisord.log  ; supervisor 日志路径
logfile_maxbytes=50MB       ; 单个日志文件最大数
logfile_backups=10          ; 保留多少个日志文件(默认10个)
loglevel=info               ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; pid 文件路径
nodaemon=false              ; 启动是否丢到前台,设置为false ,表示以daemon 的方式启动
minfds=1024                 ; 最小文件打开数,对应系统limit.conf 中的nofile ,默认最小为1024,最大为4096
minprocs=200                ; 最小的进程打开数,对应系统的limit.conf 中的nproc,默认为200[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor/supervisor.sock ; use a unix:// URL  for a unix socket[include]
files = supervisord.d/*.ini  ;默认放在安装目录的supervisord.d目录下,可以指定一个或多个以.ini结束的配置文件。这部分是自定义一个守护进程,照这个格式写。
[program:elasticsearch]                       ; 定义一个守护进程 elasticsearchenvironment=ES_HOME=/usr/local/elasticsearch  ; 设置ES_HOME 环境变量
user=elk                                      ; 启动elasticsearch 的用户directory=/usr/local/elasticsearch            ; 进入到这个目录中
command=/usr/local/elasticsearch/bin/elasticsearch ; 执行启动命令
numprocs=1                                    ; Supervisor启动这个程序的多个实例,如果numprocs>1,则process_name的表达式必须包含%(process_num)s,默认是1
autostart=true                                ; 设置为随 supervisord 启动而启动autorestart=true                              ; 设置为随 supervisord 重启而重启
startretries=3                                ; 设置elasticsearch 重启的重试次数
priority=1                                    ; 权重,可以控制程序启动和关闭时的顺序,权重越低:越早启动,越晚关闭。默认值是999