supervisor安装和使用

0. 前言

0.1 supervisor简介

Supervisor是用Python实现的一款非常实用的进程管理工具,可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,但是supervisor管理的进程必须由supervisord来启动,并且管理的程序必要是非Daemon程序,Supervisor会帮你把它转化为Daemon程序,比如想要使用Supervisor来管理Nginx进程,就必须在Nginx配置文件中加入 daemon off让Nginx以非Daemon方式运行。

0.2 软硬件环境

OS:CentOS6.6 x86_64

Python:2.6.6

setuptools:1.4.2

supervisor:3.1.3

1. 安装

1.1 安装setuptools

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-1.4.2.tar.gz    
tar -xvf setuptools-1.4.2.tar.gz    
cd setuptools-1.4.2    
python setup.py install

1.2 安装python-meld3

yum install python-meld3 -y

1.3 安装supervisor

easy_install supervisor    #安装supervisor

echo_supervisord_conf > /etc/supervisord.conf   #生成配置文件

2. 配置supervisor

修改 /etc/supervisord.conf文件,去掉inet_http_server段的注释,并且改为如下:


[inet_http_server]

port=-0.0.0.0:9001

username=admin

password=123456

这样就可以用admin/123456登录http://YOUR_IP:9001来通过页面进行操作了。

3. 使用supervisor

编写一个测试脚本,用来验证使用过程,脚本名为ping_ip.sh,文件路径/root/ping_ip.sh,内容如下:


#!/bin/bash

while true

do

ping -c 1 192.168.35.174 >> /tmp/ping.log

sleep 5

done

说明:每隔5秒钟ping一下192.168.35.174,并将输出写入ping.log。并且需要确保这个脚本一直处于运行状态。

下面演示如何通过supervisor管理这个脚本,并确保其始终处于运行状态。

在/etc/supervisord.conf中写入如下内容:


[program:ping]    #ping是我们自定义的程序名,需要注意program后面的冒号

command=/bin/bash /root/ping_ip.sh #执行的命令,用于启动进程。需要注意的是,这个命令只能是在终端中运行的进程,而不能是守护进程,因为supervisor需要将其作为子进程进行管理。所以像service vsftpd start这样的命令是不行的,不能作为supervisor的子进程进行管理。

process_name=ping #进程名,默认就是program配置的程序名。如果下面的numprocs设置为1,此处就不用设置了;如果numprocs设置为大于1,就需要给每隔子进程设置一个名字了。

numprocs=1 #子进程个数

startsecs=0 #子进程启动多少秒后,如果状态处于running,则认为启动成功

stopwaitsecs=0 #向子进程发送stop信号之后,到系统返回信息给supervisord所等待的最大时间,超过这个时间,supervisord会向该子进程发送一个强制kill的信号

autostart=true #supervisord启动的时候,是否也自动启动这个子进程

autorestart=true #这个是设置子进程挂掉后自动重启的情况,有三个选项,false,unexpected和true。如果为false的时候,无论什么情况下,都不会被重新启动,如果为unexpected,只有当进程的退出码不在下面的exitcodes里面定义的退出码的时候,才会被自动重启。当为true的时候,只要子进程挂掉,将会被无条件的重启

stopsignal=KILL #进程停止信号,可以为TERM, HUP, INT, QUIT, KILL, USR1, or USR2等信号

stdout_logfile=/tmp/ping.log #日志文件路径

stderr_logfile=/tmp/ping.err #错误日志文件路径

1.1 命令行管理

[[email protected] ~]# supervisorctl status #查看supervisor状态    
ping                             RUNNING   pid 32935, uptime 0:00:02    
[[email protected] ~]# supervisorctl stop ping #停止子进程ping    
ping: stopped    
[[email protected] ~]# supervisorctl status    
ping                             STOPPED   Apr 28 06:00 PM    
[[email protected] ~]# supervisorctl start ping #启动子进程ping    
ping: started    
[[email protected] ~]# supervisorctl status    
ping                             RUNNING   pid 33065, uptime 0:00:02

其他用法请查看帮助手册:supervisorctl --help

1.2 图形界面管理

访问:http://192.168.35.174:9001/,输入用户名/密码之后,即可在图形界面上看到的子进程的运行状态,并且可以进行操作。

时间: 2024-10-04 23:32:27

supervisor安装和使用的相关文章

Node.js+Express4+Nunjucks+supervisor安装使用小记

大家都很熟悉Node.js就不用作过多介绍了. 各个项目的首页: Node.js: http://nodejs.org Express: http://expressjs.com Nunjucks: http://mozilla.github.io/nunjucks/ supervisor: https://github.com/isaacs/node-supervisor 其中,Nunjucks受Python的Jinja2模板启发发展而来,如果有使用Python的Django模板爱好者的话可以

【资料整理】supervisor安装配置

supervisor 安装 [[email protected] download]# wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python [[email protected] download]# easy_install supervisor [[email protected] download]# echo_supervisord_conf > /etc/supervisor

supervisor安装及其配置

一.supervisor概述 supervisor是一个c/s系统,被用来在类Unix系统中监控进程状态.supervisor使用python开发. 服务端进程为supervisord,主要负责启动自身及其监控的子进程,响应客户端命令,重启异常退出的子进程,记录子进程stdout和stderr输出,生成和处理子进程生命周期中的事件.其配置文件一般为/etc/supervisord.conf,可以在配置文件中配置相关参数,包括supervisord自身的状态,其管理的各个子进程的相关属性等.sup

Supervisor安装

转的一篇文章,原文,http://type.so/linux/supervisor-install-and-configure.html Supervisor安装 安装 easy_install supervisor 生成默认配置文件 echo_supervisord_conf > /etc/supervisord.conf mkdir /etc/supervisord.conf.d 修改配置文件 include区段修改为 [include] files = /etc/supervisord.c

Supervisor 安装及配置管理uwsgi进程

Supervisor介绍 Supervisor 允许其用户在UNIX类操作系统上控制多个进程. 块如下: 方便 需要为每个进程实例编写rc.d脚本通常是不方便的. rc.d脚本是进程初始化/自动启动/管理的常用形式,但写入和维护可能会很痛苦.此外,rc.d脚本不能自动重新启动崩溃的进程,并且许多程序在崩溃时不会正常重新启动.Supervisord启动进程作为其子进程,并可以配置为在崩溃时自动重新启动它们.它也可以自动配置为在其自身的调用中启动进程. 准确性 在UNIX上的进程通常很难获得准确的上

ubuntu16.04中supervisor安装与使用(转载)

ubuntu16.04中supervisor安装与使用 supervisor 进程管理是可以让进程在后台运行,而不占用控制台影响使用 1. 安装 supervisor sudo apt install supervisor 2. 添加进程 supervisor 可以将每个进程分别写成一个文件,supervisor 的进程文件放在 /etc/supervisor/conf.d/ 目录下,本例创建 test.conf 进程配置文件.其中 program 为要运行的进程的名称, command 为要执

supervisor安装和配置指南

supervisor:是用python写的一个进程管理工具,用来启动,重启,关闭进程.注意:Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程.否则提示Exited too quickly (process log may have details)异常.好比Tomcat默认是以守护进程启动的,所以要改成了catalina.sh run,以前台进程的方式运行,关于守护进程和非daemon进程这里不做详细讲解,可自行百度.具体关于supervisor的相

supervisor 安装

supervisor install 1.pip2 安装 wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz#md5=35f01da33009719497f01a4ba69d63c9 tar -xf pip-9.0.1.tar.gz cd pip-9.0.1 sudo python2 setup.py in

mac下supervisor安装及简单配置

supervisor是一个用 Python 写的进程管理工具,可以很方便的用来启动.重启.关闭进程(守护进程).可以用他来管理自己的"服务程序". 安装 首先安装Python,Mac系统好像自带. 执行 sudo pip install supervisor 安装 安装pip 下载get-pip.py,然后执行.具体请查看文档 $ wget https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py ...