开发项目,免不了要使用一些守护进程来执行一些定时、耗时的任务。数量少、有权限时,一个个处理没有太大问题,也就是几个命令的事。但当数量变多或需要控制权限时,再这样操作就不太合适了。此时,最好是有一个工具可以帮你来管理这些守护进程。
Supervisor就是这样一款Linux进程管理工具,它由Python开发,主要用于在后台维护进程(类似master守护进程)。Supervisor可以实现监控进程的状态,自动重启进程等操作,非常方便服务的维护与监控。
Supervisor主要由以下两部分组成:
1、supervisord
这是Supervisor的服务端,当我们启动Supervisor时,首先会有一个supervisord进程,称为父进程,它所管理的进程是它的子进程。supervisord进程负责统一管理这些子进程的启动、重启、停止。从某种角度上看,有点NGINX的master与worker的感觉。
2、supervisorctl
这是Supervisor的客户都安,它是一个命令行管理工具,输入某些命令,如:start、stop、restart等,就可以对指定的进程进行相应的操作。
下面我们来介绍下Supervisor的安装和配置。
安装
安装Supervisor很简单,既可以使用pip命令,也可以使用yum命令,如下:
pip install supervisor
或者
yum install supervisor
需要说明的是,Supervisor是由Python开发的,因此在安装supervisor前要确保你已安装了Python。
配置
默认安装好的Supervisor是无法启动的,需要调整一些配置才行。默认Supervisor的配置文件是没有的,需要我们自己创建。我们可以找一个目录,如/etc/supervisor,通过执行如下命令来生成配置文件:
echo_supervisord_conf