Supervisor:简单强大的进程管理工具

服务器

浏览数:229

2019-3-14

一、介绍

Supervisor是一个Linux下用Python开发的进程管理工具,提供了web管理界面,通过配置需要监控的进程,可以很方便的监控并管理进程,更厉害的是,当监控的进程因为各种原因断开的时候,能自定重启该进程。

二、安装

  1. Ubuntu下安装非常方便:

sudo apt-get install supervisor
  1. 安装完成后,会在 /usr/bin 下加入三个命令:

  • echo_superisord_conf 生成一个配置文件示例(建议仅做学习了解使用)

  • supervisord 服务端

  • supervisorctl 客户端

3.安装完成后,会在 /etc 目录下创建一个 supervisor 目录用于存放supervisor的配置文件。

  • /etc/supervisor

    • /conf.d (文件夹)

    • supervisord.conf (文件)

方便起见,把supervisor服务器相关的配置写入supervisord.conf中,把监控各个进程的配置,按照进程名存在 conf.d 目录下。(这个可以在supervisord.conf中的[include]部分下配置)

三、配置

  1. 我的supervisor.conf的配置如图:

简单说明:

  • [unix_http_server] 配置socket连接部分

  • [supervisord] 配置supervisor服务器部分

  • [supervisorctl] 配置supervisor客户端部分

  • [inet_http_server] 配置web管理界面

  • [include] 配置需要引入的其他配置

2.我的监控进程配置(./conf.d/test.conf)如图:

这里是一个测试程序,目的是使用supervisor管理test.php脚本进程,使其被kill后自动重启。

3.关于配置的详细说明:

官网配置文档(很全很全,还有示例)
运维生存时间——使用 supervisor 管理进程

四、测试过程

1.准备一个简单的PHP测试脚本 test.php

<?php
while(1){
    sleep(10);
}

2.启动supervisor

3.查看test.php脚本的进程,kill掉,再次查看test.php的状态,已经重新启动

4.查看web管理界面