文章目录
文档地址
- 官网:http://supervisord.org/
- RD文档:https://www.rddoc.com/doc/Supervisor/3.3.1/zh/
简介
supervisor是一个客户端/服务器系统,是一个python开发的进程管理程序,允许其他用户在类unix操作系统上监视和控制多个进程。用于控制与项目或客户相关的过程,以为这在启动时像任何其他程序一样启动
- 特征:简单、集中、高效、可扩展、兼容(完全由python编写,不需安装C编译器,适用于windows之外的一切)
- supervisor组件
supervisord
:服务部分,负责在自己的调用中启动子程序,响应来自客户端的命令,重新启动崩溃或退出的子进程,记录其子进程stdout和stderr输出,以及生成和处理对应于子进程生命周期中的点的时间,配置文件路径/etc/supervisor/supervisord.conf
supervisorctl
:命令行客户端- 为supervisord提供的功能提供了一个shell样界面,从
supervisorctl
用户可以连接到不同的supervisor进程,在由子进程控制的子进程上获取状态,停止和启动子进程,并获取supervisord的运行进程列表。 - 命令行客户端通过unix域套接字或TCP套接字与服务器通信
- 为supervisord提供的功能提供了一个shell样界面,从
- 网络服务器:访问服务器URL(例如 http://localhost:9001/),以在激活配置文件的 [inet_http_server] 部分后通过Web界面查看和控制进程状态。
- XML-RPC接口:用户询问和控制管理程序及其运行的程序
- 平台要求:支持linux(ubuntu),Mac OS X,Solaris 和FreeBSD,不支持任何版本的windows,可在python2.4或更高版本工作,不支持python3
安装
- ubuntu安装 :
sudo apt-get install supervisor
- centos安装 :
sudo yum install supervisor
- pip形式安装:
pip install supervisor
- easy_install安装:
easy_install supervisor
- 配置文件地址:
/etc/supervisor/supervisord.conf
运行
/usr/bin/python2 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
# 第一次启动- 添加程序,最简单的添加程序可直接编辑supervisord.conf,新增如下配置
[program:foo] command=/bin/cat
- supervisord命令选项说明:
superviord
-c FILE
|--configuration=FILE
配置文件-n
|--
前台运行-u USER
|--user=USER
执行命令的用户身份-e LEVEL
|--loglevel=LEVEL
日志记录级别-v
|--version
查看版本-h
|--help
查看帮助- …详见官方文档
- supervisorctl命令选项说明:
supervisorctl
-c FILE
|--configuration=FILE
配置文件-v
|--version
查看版本-h
|--help
查看帮助-s
|--serverurl URL
超级服务器侦听的url-i
|--interactive
执行命令后启动交互shell-u USER
|--user=USER
执行命令的用户身份-p PASSWORD
|--password=PASSWORD
用于服务器验证身份的密码-r
|--history-file