歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

CentOS 6.3安裝配置supervisor進程管理工具

1. Supervisor是一個C/S系統,它可以在類unix操作系統讓用戶來監視和控制後台服務進程的數量,一個很重要的功能就是監控服務器的主要後台進程,並在出現問題是自動重啟。

2. 根據服務器上的python版本下載對應的setuptools

[root@test1 ~]# python -V

Python 2.6.6

wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg#md5=bfa92100bd772d5a213eedd356d64086

直接安裝

sh setuptools-0.6c11-py2.6.egg

3. 下載並安裝supervisor

wget http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0b1.tar.gz
tar -zxvf supervisor-3.0b1.tar.gz
cd supervisor-3.0b1
python setup.py install
安裝setuptools後也可以
easy_install supervisor

4. 設定supervisor配置文件

創建默認的配置文件
echo_supervisord_conf  >/etc/supervisord.conf
vi /etc/supervisord.conf
取消以下的注釋,並修改IP為0.0.0.0
[inet_http_server]        ; inet (TCP) server disabled by default
port=0.0.0.0:9001        ; (ip_address:port specifier, *:port for all iface)
username=user              ; (default is no username (open server))
password=123              ; (default is no password (open server))
增加自定義的後台進程(注意進程名之間用一個:分隔)
[program:hello]
command=python /root/hello.py
priority=1
numprocs=1
autostart=true
autorestart=true
startretries=10
stopsignal=KILL
stopwaitsecs=10
redirect_stderr=true
stdout_logfile=/root/hello.log

5. 設定supervisor啟動文件

vi /etc/init.d/supervisord

 

#! /bin/sh

PATH=/sbin:/bin:/usr/sbin:/usr/bin

PROGNAME=supervisord

DAEMON=/usr/bin/$PROGNAME

CONFIG=/etc/$PROGNAME.conf

PIDFILE=/tmp/$PROGNAME.pid

DESC="supervisord daemon"

SCRIPTNAME=/etc/init.d/$PROGNAME

# Gracefully exit if the package has been removed.

test -x $DAEMON || exit 0

 

start()

{

        echo -n "Starting $DESC: $PROGNAME"

        $DAEMON -c $CONFIG

        echo "..."

}

stop()

{

        echo -n "Stopping $DESC: $PROGNAME"

        supervisor_pid=$(cat $PIDFILE)

        kill -15 $supervisor_pid

        echo "..."

}

case "$1" in

  start)

        start

        ;;

  stop)

        stop

        ;;

  restart)

        stop

        start

        ;;

  *)

        echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2

        exit 1

        ;;

esac

exit 0

Copyright © Linux教程網 All Rights Reserved