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

2,958 阅读2分钟

supervisor的安装

介绍

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

下载安装

Ubuntu下载

sudo apt-get install supervisor

1.安装完成之后,会在/usr/bin中加入三个命令:

  • echo_superisord_conf 生成一个配置文件示例(建议仅做学习了解使用)
  • supervisord 服务端
  • supervisorctl 客户端

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

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

我的配置如下:

简单说明配置

  • [unix_http_server] 配置socket连接部分
  • [supervisord] 配置supervisor服务器部分
  • [supervisorctl] 配置supervisor客户端部分
  • [inet_http_server] 配置web管理界面
  • [include] 配置需要引入的其他配置

关于配置的详细说明如下:

官网配置文档

运维生存时间

在安装时遇到的问题

在我们启动supvisord时: 要先进入/usr/bin目录中

cd /usr/bin

启动

supervisord -c /etc/supervisor/supervisord.conf

问题一

Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord. For help, use /usr/bin/supervisord -h

解决办法如下: 先查看一下:

ps -ef | grep supervisord

发现已经有一个supervisord.conf在运行了,那我们先清除这个运行的,如下:

kill -s SIGTERM 103824

再次查看:

ps -ef | grep supervisord

如果发现没有supervisord.conf在运行了的话,就执行如下命令:

supervisord -c /etc/supervisor/supervisord.conf