Supervisor安装

# 安装

easy_install supervisor

# 生成默认配置文件

echo_supervisord_conf > /etc/supervisord.conf

mkdir /etc/supervisord.conf.d

修改配置文件

include区段修改为

[include]

files = /etc/supervisord.conf.d/*.conf

如需要访问web控制界面,inet_http_server区段修改为

[inet_http_server]

port=0.0.0.0:9001

username=username ; 你的用户名

password=password ; 你的密码

每个需要管理的进程分别写在一个文件里面,放在/etc/supervisord.conf.d/目录下,便于管理。例如:test.conf

[program:sqlparse]

directory = /var/www/python

command = /bin/env python test.py

将supervisord加入系统服务,以下代码来自gist,文件:/etc/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/init.d/functions



RETVAL=0

prog="supervisord"

pidfile="/tmp/supervisord.pid"

lockfile="/var/lock/subsys/supervisord"



start()

{

        echo -n $"Starting $prog: "

        daemon --pidfile $pidfile supervisord -c /etc/supervisord.conf

        RETVAL=$?

        echo

        [ $RETVAL -eq 0 ] && touch ${lockfile}

}



stop()

{

        echo -n $"Shutting down $prog: "

        killproc -p ${pidfile} /usr/bin/supervisord

        RETVAL=$?

        echo

        if [ $RETVAL -eq 0 ] ; then

                rm -f ${lockfile} ${pidfile}

        fi

}



case "$1" in



  start)

    start

  ;;



  stop)

    stop

  ;;



  status)

        status $prog

  ;;



  restart)

    stop

    start

  ;;



  *)

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

  ;;



esac
chmod +x /etc/init.d/supervisord

chkconfig supervisord on

service supervisord start

shadowsocks配置

在目录/etc/supervisor/conf.d/下, 新建一个文件,名字:shadowsocks.conf

在shadowsocks.conf文件里编辑添加:

[program:shadowsocks] command=python /shadowsocks/shadowsocks/server.py -c /shadowsocks/shadowsocks/config.json #/此处目录请自行修改 autorestart=true user=root 7、修改以下文件

/etc/profile /etc/default/supervisor 在文件结尾处添加以下3行内容

ulimit -n 51200 ulimit -Sn 4096 ulimit -Hn 8192 8、启动软件

service supervisor start #启动 supervisorctl reload #重载 9、debug查看连接日志等

supervisorctl tail -f shadowsocks stderr #Ctrl+C 取消查看 之后就可以断开SSH连接,后端还是会继续运行