Supervisor使用心得
Supervisor是一个运行在UNIX-like操作系统上,允许用户监视及管理进程的C/S系统(client/server system)。
最近终于把自己的网站写好了,需要用到Supervisor来监控后台服务进程,在服务不小心挂掉时自动重启服务。
以下的文字是在CentOS 7.3里操作总结出来的,不保证在其他发行版里同样适用。
一 安装Supervisor
因为我的网站是用Python写的,我已经装了pip,所以通过pip来安装
pip install supervisor
除了这个安装方法,官方还提供了两种安装方案:
- 使用
easy_install
easy_install supervisor
- 下载程序包使用命令自行安装
进入PyPi下载Supervisor,然后进入该目录,输入
python setup.py install
命令进行安装。
二 配置Supervisor
当安装好Supervisor之后,使用echo_supervisord_conf
命令可以打印出Supervisor配置文件的模版,在/etc/
下,应该默认生成了一个配置文件supervisord.conf
,你可以使用echo_supervisord_conf > /etc/supervisord_new.conf
命令让Supervisor启用新的配置文件,但一般我们不需要这么做。
输入
supervisord
运行Supervisord,当此时Supervisord并不包含任何功能,我们还需要配置Supervisord需要监视的进程。
查看Supervisord是否正在运行:
ps aux | grep supervisord
三 配置监视的进程
Supervisor的默认配置文件的最后是以下内容:
[include]
files = supervisord.d/*.ini
files = supervisord.d/*.conf
所以我们只需要将需要监视的进程的信息写成一个配置文件放到/etc/susupervisord.d/
下,来看看这个配置文件怎么写。
就拿我的网站本身来说吧,项目代码位于/var/www/website/
下,当我手动启动网站服务时,需要执行以下命令:
那么写成配置文件:
注意第一行的[program:website]
,这个website表示这个进程的别名,会在supervisorctl中有很大用途,马上你就会知道了。
四 使用supervisorctl控制进程
这个很简单,在终端执行对应命令即可,我选几个常用的吧。
最后
所有关于Supervisor的信息都可以在其官网找到,我只是介绍了一小部分,更多的还请移步:http://supervisord.org/index.html
除非另有声明,本博客所有文章采用的授权方式为 自由转载-非商用-非衍生-保持署名 ,转载请务必注明出处,谢谢。