安装 supervisor

sudo pip2.7 install supervisor

查看 supervisor 的最新版本和文件列表

pip2.7 show -f supervisor

可以看到 Location 是 /usr/local/lib/python2.7/site-packages,和Files的前几个文件

  ../../../bin/echo_supervisord_conf
  ../../../bin/pidproxy
  ../../../bin/supervisorctl
  ../../../bin/supervisord

其中../../../相对路径/usr/local/lib/python2.7/site-packages得到绝对路径是:/usr/local
那前四个文件的绝对路径是:

/usr/local/bin/echo_supervisord_conf
/usr/local/bin/pidproxy
/usr/local/bin/supervisorctl
/usr/local/bin/supervisord

生成 supervisor 的配置文件

echo_supervisord_conf | sudo tee /etc/supervisord.conf

如果是root用户可以用

echo_supervisord_conf > /etc/supervisord.conf

如果提示 -bash: echo_supervisord_conf: command not found说明/usr/local/bin没有添加到visudo的secure_path内,解决方法是:

编辑visudo

sudo visudo

找到 secure_path这一行

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

添加/usr/local/sbin和/usr/local/bin,变成这样

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

保存编辑即可

创建一个配置文件夹,多个服务的配置文件单独放置

sudo mkdir -p /etc/supervisor.d

修改配置文件

sudo vim /etc/supervisord.conf

找到 ;[include]去掉;变成[include]

找到[include]下面的;files去掉;变成files

将files = relative/directory/.ini改成files = /etc/supervisor.d/.conf

其它配置默认即可,保存修改

添加 /etc/init.d/supervisor 开机启动

sudo vim /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/rc.d/init.d/functions

prog="supervisord"

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

start()
{
        echo -n $"Starting $prog: "
        daemon $prog_bin --pidfile $PIDFILE -c $conf
        [ -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

增加可执行权限

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

centos 添加开机启动

sudo chkconfig --add supervisord
sudo chkconfig --level 2345 supervisord on

启动 supervisord

sudo /etc/init.d/supervisord start

标签: none

添加新评论