supervisor 使用实践

Posted 40块钱抓娃娃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了supervisor 使用实践相关的知识,希望对你有一定的参考价值。

1. supervisor 介绍

Supervisor是一个客户端/服务器系统,允许用户在类UNIX操作系统上控制大量进程。

Supervisor组件:

  Supervisord: 服务器部分为Supervisord,负责启动子程序,相应客户端的命令,记录stdout,stderr。

          配置文件位于/etc/supervisord.conf中,ini风格的配置文件。

  Supervisorctl: 客户端部分为Supervisorctl,它为Supervisord服务提供一个类似shell的界面,从Supervisorctl,用户可以连接到不同的Supervisord进程,获得控制子进程状态,对子进程进行命令控制。

  Web Server: 一个功能与Supervisorctl相媲美的用户界面,可以通过浏览器进行访问。激活配置文件的[inet_http_server]部分后,可以通过访问web界面查看和控制进程状态。

平台要求:大多数Unix系统上,python2.4以上版本。(注:任何windows,pyhton3环境都不能使用)

2.安装supervisor并使用

  我是通过使用pip进行安装的,直接执行 pip install supervisor进行安装。也可以下载supervisor包进行安装,解压后调用 python setup.py install 进行安装也是可以的,安装简单。

  Supervisord安装完成后,运行echo_supervisord_conf,这将会在你的终端打印一个supervisor配置文件的样本。

需要把配置文件追加到一个文件,然后利用supervisord命令的-c 选项来指定改文件问配置文件,进行supervisord服务器的启动(可根据需要对配置文件进行修改)。

启动服务:  使用supervisord 可以直接以守护进程的方式启动进程。

  一般常用的参数(其他参数可以使用-h,--help进行查看):

      -c FILE, --configuration=FILE: 指定supervisord的配置文件。

      -n, --nodaemon: 在前台启动supervisord。

      -u USER, --user=USER: 设置启动supervisord的用户。

      -d PATH, --directory=PATH: 设置supervisord的工作目录。

      -l FILE, --logfile=FILE:  设置supervisord的日志文件路径。

      -y BYTES, --logfile_maxbytes=BYTES: 日志文件最大大小,到达大小后会进行日志分割。

      -y NUM, --logfile_backups=NUM:  保留的supervisord日志的副本数。

      -j FILE, --pidfile=FILE: pid文件的路径。

启动supervisord示例

  supervisord -c supervisord.conf

  supervisord -n 

使用supervisorctl:

  第一种: 执行supervisorctl命令,将显示一个shell,使用该控制台控制当前由supervisord管理的进程,输入help 获取相关支持的命令。

  第二种: 执行“一次性”命令,例如: supervisorctl stop all / supervisorctl status all  (会返回执行状态)

 

  

 

以上是关于supervisor 使用实践的主要内容,如果未能解决你的问题,请参考以下文章

使用Supervisor管理Celery进程。

supervisor安装

Centos7 中使用Supervisor守护进程

两个不同项目的多个 supervisor.conf

CentOS 7.4 配置 Supervisor 守护进程

supervisor管理进程 superlance对进程状态报警