1,介绍
Supervisor是一个进程管理工具,官方的说法

用途就是有一个进程需要每时每刻不断的跑,但是这个进程又有可能由于各种原因有可能中断。当进程中断的时候我希望能自动重新启动它,此时,我就需要使用到了Supervisor

这个工具主要就两个命令:

supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令

supervisorctl:启动supervisor的命令行窗口。

2安装
第一种方法:

pip install supervisor

pip的安装

View Code
第二种

yum install python-setuptools
easy_install supervisor

第三种

wget https://pypi.python.org/packages/source/s/supervisor/supervisor-3.1.3.tar.gz
tar zxvf supervisor-3.1.3.tar.gz
cd supervisor
python setup.py install

第四种

yum install -y epel-release

yum install -y supervisor

3测试

测试是否安装成功

echo_supervisord_conf

创建配置文件

echo_supervisord_conf > /etc/supervisord.conf

4配置文件讲解
转载自https://blog.linuser.com/?p=143

这个地方是自定义一个守护进程

  [program:elasticsearch]                       ; 定义一个守护进程 elasticsearch
  environment=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  

复制代码
一般也可以将守护的进程配置定义守护进程放在/etc/supervisor目录下,以x.conf或者x.ini来命名

启动
4、确定supervisord 服务并设置为随机启动:

systemctl start supervisord.service && systemctl enable supervisord.service

或者加载的时候需要,supervisord -c /etc/supervisord.conf这样就可以了。

标签: supervisor

添加新评论