port=0.0.0.0:9001
username = admin
password = yourpassword
port=9001
username = admin
password = yourpassword
directory=/var
autostart=true
autorestart=true
user=XXX
[program:redis]
command = redis-server //需要执行的命令
autostart=true //supervisor启动的时候是否随着同时启动
autorestart=true //当程序跑出exit的时候,这个program会自动重启
startsecs=3 //程序重启时候停留在runing状态的秒数
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,载入最新的配置文件,并按新的配置启动、管理所有进程。
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加入到开机启动项里就可以完成监控进程的功能了。
当supervisord以非daemon方式运行时,杀掉supervisord后,被监控的进程也退出了。
而以daemon方式运行,杀掉supervisord对被监控进程无影响。
---安装出错汇总
1、ImportError: No module named setuptools 解决方法
http://www.cnblogs.com/kkgreen/archive/2012/08/02/2620425.html