Fork me on GitHub
随笔 - 215  文章 - 13  trackbacks - 0
<2017年2月>
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011


专注即时通讯及网游服务端编程
------------------------------------
Openresty 官方模块
Openresty 标准模块(Opm)
Openresty 三方模块
------------------------------------
本博收藏大部分文章为转载,并在文章开头给出了原文出处,如有再转,敬请保留相关信息,这是大家对原创作者劳动成果的自觉尊重!!如为您带来不便,请于本博下留言,谢谢配合。

常用链接

留言簿(1)

随笔分类

随笔档案

相册

Awesome

Blog

Book

GitHub

Link

搜索

  •  

积分与排名

  • 积分 - 210445
  • 排名 - 118

最新评论

阅读排行榜

http://www.linuxidc.com/Linux/2012-11/73832.htm (有改动)
参考:
http://blog.csdn.net/frank_good/article/details/43446687
http://blog.csdn.net/fanhenghui/article/details/51745517

1. Supervisor是一个C/S系统,它可以在类unix操作系统让用户来监视和控制后台服务进程的数量,一个很重要的功能就是监控服务器的主要后台进程,并在出现问题是自动重启。

2. 根据服务器上的python版本下载对应的setuptools

[root@test1 ~]# python -V

Python 2.7.5

wget https://pypi.Python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg  --no-check-certificate
chmod +x setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg

直接安装

sh setuptools-0.6c11-py2.7.egg

3. 下载并安装supervisor

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

4. 设定supervisor配置文件

创建默认的配置文件
echo_supervisord_conf  >/etc/supervisord.conf (echo_supervisord_conf 命令行工具和supervisor在同一个路径下)
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

posted on 2016-11-22 15:09 思月行云 阅读(351) 评论(0)  编辑 收藏 引用 所属分类: 服务器\Ops

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理