zoukankan      html  css  js  c++  java
  • Linux 进程管理工具 supervisord 安装及使用

    Supervisor是用Python实现的一款非常实用的进程管理工具
    1、安装过程非常简单
    安装python
    安装meld3-0.6.8.tar.gz
    安装supervisor-3.0a12.tar.gz
     可参照:http://ydt619.blog.51cto.com/316163/1055334
    2、配置supervisor
    # Web管理界面设定
    [inet_http_server]
    port=0.0.0.0:9001
    username = admin
    password = yourpassword
    3、修改配置文件 /etc/supervisord.conf
    # Web管理界面设定
    [inet_http_server]
    port=9001
    username = admin
    password = yourpassword
    #添加需要监控的进程
    [program:test]
    directory=/var
    command=/var/test
    autostart=true
    autorestart=true
    startretries=100
    user=XXX
     

    [program:redis]

    command = redis-server   //需要执行的命令

    autostart=true    //supervisor启动的时候是否随着同时启动

    autorestart=true   //当程序跑出exit的时候,这个program会自动重启

    startsecs=3  //程序重启时候停留在runing状态的秒数

    4、管理命令

    Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:

    • supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
    • supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
    • supervisorctl start programxxx,启动某个进程
    • supervisorctl restart programxxx,重启某个进程
    • supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    • supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。
    设置好之后可以通话web页面管理,非常方便
     
    supervisord开机自启动
    2.chkconfig --add supervisord #加为服务
    3.运行ntsysv,选中supervisord启动系统时跟着启动。
    1.[/etc/rc.d/init.d/supervisord]

    #!/bin/sh
    #
    # /etc/rc.d/init.d/supervisord
    #
    # Supervisor is a client/server system that
    # allows its users to monitor and control a
    # number of processes on UNIX-like operating
    # systems.
    #
    # chkconfig: - 64 36
    # description: Supervisor Server
    # processname: supervisord

    # Source init functions
    . /etc/rc.d/init.d/functions

    #初始化环境变量

    source /etc/profile

    prog="supervisord"

    prefix="/usr/"
    exec_prefix="${prefix}"
    prog_bin="${exec_prefix}/bin/supervisord"
    PIDFILE="/var/run/$prog.pid"

    start()
    {
    echo -n $"Starting $prog: "
    daemon $prog_bin --pidfile $PIDFILE
    [ -f $PIDFILE ] && success $"$prog startup" || failure $"$prog startup"
    echo
    }

    stop()
    {
    echo -n $"Shutting down $prog: "
    [ -f $PIDFILE ] && killproc $prog || success $"$prog shutdown"
    echo
    }

    case "$1" in

    start)
    start
    ;;

    stop)
    stop
    ;;

    status)
    status $prog
    ;;

    restart)
    stop
    start
    ;;

    *)
    echo "Usage: $0 {start|stop|restart|status}"
    ;;

    esac

    注意
    不带参数运行supervisord是以daemon方式运行。
    把supervisord加入到开机启动项里就可以完成监控进程的功能了。
    当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。
    而以daemon方式运行,杀掉supervisord对被监控进程无影响。

    ---安装出错汇总

    1、ImportError: No module named setuptools 解决方法

    http://www.cnblogs.com/kkgreen/archive/2012/08/02/2620425.html

    如果有问题可以加我微信(baolongsj)共同学习和进步…..
  • 相关阅读:
    转:浅谈UNIX下Apache的MPM及httpd.conf配置文件中相关参数配置
    LINUX DNS解析的3种修改方法~
    Linux ftp访问控制配置,包括访问ftp权限和访问ftp目录权限
    composer 安装提示 PHP Warning: readfile(): SSL operation failed with code 1
    PHPExcel yii2 加载使用
    转:mysql根据经纬度查找排序
    bootstrap无限级分类 jq拓展 之前的无限级分类的封装版~
    ACM学习历程—HDU1717 小数化分数2(gcd)
    ACM学习历程—HDU1716 排列2(dfs && set容器)
    ACM学习历程—BestCoder 2015百度之星资格赛1001 大搬家(递推 && 组合数学)
  • 原文地址:https://www.cnblogs.com/521football/p/3707654.html
Copyright © 2011-2022 走看看