supervisor centos安装

一、安装配置supervisor

1.安装python自动化工具    #yum install python-setuptools

2.#easy_install supervisor安装supervisor

3.测试安装是否成功 #echo_supervisord_conf

4.创建配置文件:

(1)创建supervisor配置文件目录/etc/supervisor/

#mkdir -m 755 -p /etc/supervisor/

(2)创建主配文件supervisord.conf

#echo_supervisord_conf > /etc/supervisor/supervisord.conf

(3)创建项目配置文件目录

# mkdir -m 755 conf.d

5.在配置文件目录中添加测试配置文件 
如:convert.ini

然后在主配置文件supervisord.conf的最下面添加

[include]

file = ./conf.d/convert.ini

6.启动supervisor---手动启动

# supervisord -c /etc/supervisor/supervisord.conf

pstree -p | grep supervisord

查看supervisord.log发现program convert已启动

# cat /tmp/supervisord.log

7.#supervisorctl -c /etc/supervisor/supervisord.conf  进入到supervisor管理

status 查看状态

stop all停止

reload重启监控服务

注意:

(1)每次修改配置文件后需进入supervisorctl,执行reload, 改动部分才能生效

(2)两个命令

supervisord : supervisor的服务器端部分,用于supervisor启动

supervisorctl:启动supervisor的命令行窗口,在该命令行中可执行start、stop、status、reload等操作。

二、supervisord启动脚本

1.执行如下命令:

vim /etc/init.d/supervisord

2.输入如下内容:

#!/bin/bash
#
# supervisord   This scripts turns supervisord on
# chkconfig:	345 83 04
# description:  supervisor is a process control utility.  It has a web based
#			   xmlrpc interface as well as a few other nifty features.
#

# source function library
. /etc/rc.d/init.d/functions

set -a

PREFIX=/usr

SUPERVISORD=$PREFIX/bin/supervisord
SUPERVISORCTL=$PREFIX/bin/supervisorctl

PIDFILE=/var/supervisor/supervisord.pid
LOCKFILE=/var/supervisor/supervisord.lock

OPTIONS="-c /etc/supervisor/supervisord.conf"

# unset this variable if you don‘t care to wait for child processes to shutdown before removing the $LOCKFILE-lock
WAIT_FOR_SUBPROCESSES=yes

# remove this if you manage number of open files in some other fashion
ulimit -n 96000

RETVAL=0

running_pid()
{
  # Check if a given process pid‘s cmdline matches a given name
  pid=$1
  name=$2
  [ -z "$pid" ] && return 1
  [ ! -d /proc/$pid ] && return 1
  (cat /proc/$pid/cmdline | tr "\000" "\n"|grep -q $name) || return 1
  return 0
}

running()
{
# Check if the process is running looking at /proc
# (works for all users)

  # No pidfile, probably no daemon present
  [ ! -f "$PIDFILE" ] && return 1
  # Obtain the pid and check it against the binary name
  pid=`cat $PIDFILE`
  running_pid $pid $SUPERVISORD || return 1
  return 0
}

start() {
    echo "Starting supervisord: "

    if [ -e $PIDFILE ]; then
    echo "ALREADY STARTED"
    return 1
  fi

  # start supervisord with options from sysconfig (stuff like -c)
    $SUPERVISORD $OPTIONS

  # show initial startup status
  $SUPERVISORCTL $OPTIONS status

  # only create the subsyslock if we created the PIDFILE
    [ -e $PIDFILE ] && touch $LOCKFILE
}

stop() {
    echo -n "Stopping supervisord: "
    $SUPERVISORCTL $OPTIONS shutdown
  if [ -n "$WAIT_FOR_SUBPROCESSES" ]; then
      echo "Waiting roughly 60 seconds for $PIDFILE to be removed after child processes exit"
      for sleep in  2 2 2 2 4 4 4 4 8 8 8 8 last; do
        if [ ! -e $PIDFILE ] ; then
          echo "Supervisord exited as expected in under $total_sleep seconds"
          break
        else
          if [[ $sleep -eq "last" ]] ; then
            echo "Supervisord still working on shutting down. We‘ve waited roughly 60 seconds, we‘ll let it do its thing from here"
            return 1
          else
            sleep $sleep
            total_sleep=$(( $total_sleep + $sleep ))
          fi

        fi
      done
    fi

    # always remove the subsys. We might have waited a while, but just remove it at this point.
    rm -f $LOCKFILE
}

restart() {
    stop
    start
}

case "$1" in
  start)
    start
    RETVAL=$?
    ;;
  stop)
    stop
    RETVAL=$?
    ;;
  restart|force-reload)
    restart
    RETVAL=$?
    ;;
  reload)
    $SUPERVISORCTL $OPTIONS reload
    RETVAL=$?
    ;;
  condrestart)
    [ -f $LOCKFILE ] && restart
    RETVAL=$?
    ;;
  status)
    $SUPERVISORCTL $OPTIONS status
    if running ; then
      RETVAL=0
    else
      RETVAL=1
    fi
    ;;
  *)
    echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
    exit 1
esac

exit $RETVAL

注意:该文件中的如下几个变量,都需要根据你实际的目录来改写。

PREFIX=/usr

SUPERVISORD=$PREFIX/bin/supervisord      ##supervisord   程序的安装路径

SUPERVISORCTL=$PREFIX/bin/supervisorctl  ##supervisorctl 程序的安装路径

PIDFILE=/var/supervisor/supervisord.pid   ##需要先创建/var/supervisor目录

LOCKFILE=/var/supervisor/supervisord.lock

OPTIONS="-c /etc/supervisor/supervisord.conf"   ##配置文件的路径

保存完毕之后,可以执行以下命令修改文件权限:

chmod 777 /etc/init.d/supervisord

/etc/init.d/supervisord  start
或
service supervisord start

这样supervisor就启动了

3. 配置开机启动

执行以下命令:

chkconfig supervisord  on

可以以下命令查看是否成功

chkconfig --list | grep  supervisord
时间: 2024-12-29 01:58:54

supervisor centos安装的相关文章

Linux Supervisor的安装与使用入门

在linux或者unix操作系统中,守护进程(Daemon)是一种运行在后台的特殊进程,它独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件.由于在linux中,每个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端被称为这些进程的控制终端,当控制终端被关闭的时候,相应的进程都会自动关闭.但是守护进程却能突破这种限制,它脱离于终端并且在后台运行,并且它脱离终端的目的是为了避免进程在运行的过程中的信息在任何终端中显示并且进程也不会被任何终端所产生

CentOS 安装redis 2.8.7

波折了好几下才装上 1.下载 wget http://download.redis.io/releases/redis-2.8.7.tar.gz 下载后的文件在当前目录里 redis-2.8.7.tar.gz 2.编译安装 tar xf redis-2.8.7.tar.gz cd redis-2.8.7 make make install 如果没有安装gcc的话会提示gcc not found 于是就需要安装一下gcc: yum -y install gcc 因为刚开始把yum的源换成163的了

centos安装gearman

centos安装gearman post by rocdk890 / 2012-8-4 1:11 Saturday linux技术 发表评论 今天公司让我在服务器上安装gearman,服务器环境是lamp,那gearman是什么?其实这个gearman是一个处理分布式过程通信的健壮系统.它提供了一个通用的应用程序框架,主要用来把任务转发给到其他机器或进程.使用Gearman 能让程序实现并行工作.负载均衡和跨语言调用.它能够用于不同类型的应用程序,从高可用的web站点到数据库复制传输. 系统:c

Centos 安装 禅道

Centos 安装  禅道 一.环境准备: 1.服务器:Centos6.7 新系统 2.查看对应的系统版本:uname -a和cat /etc/redhat CentOS release 6.7 (Final) 二.安装: 1.下载对应系统版本的zbox禅道一键安装包,解压至/opt目录下 从window  电脑 到下面的地址下载最新的禅道版本 https://sourceforge.net/projects/zentao/files/9.0.1/ZenTaoPMS.9.0.1.zbox_64.

centos安装net-speeder

以前介绍过VPS上安装锐速对VPS的加速效果,但是这货对 Linux 内核有要求,一般就只能在XEN或者KVM的机子上安装.不过还好锐速有一个免费的代替品:net-speeder,所以这里介绍一下 Debian/Ubuntu 上安装 net-speeder 并对 net-speeder 的夸张带宽占用做一些优化. 软件 Github 地址:net-speeder 安装过程: CentOS安装 wget --no-check-certificate https://gist.github.com/

CentOS安装桌面环境

相信很多人在学习linux的时候,看的教程(书,或视频),很多都是说,在安装系统的时候, 选择最小化安装,装好系统之后,需要什么软件就装什么软件.不去好好找找,是不会知道系统 默认会安装多少软件,软件安装的位置...当然,作为图形界面的桌面环境,服务器上是绝对 不会安装的,因为图像处理是最消耗计算机性能的软件,windows慢,也是因为这个原因了(这 句是发闹骚) 当然,在一个伟大的linux系统工程师,刚接触linux的时候,把linux作为自己日常使用的计算机( 特别是从winddow转过来

centos 安装memcache服务后memcahce本机连接Permission

自己手动在虚拟机下装了下memcache,整个过程真是充满波折,本身用php5.3安装memcache扩展就麻烦很多,无法通过yum直接安装,安装方法详见http://chenwei.me/blog/server/69.html,接下来安装memcache服务,安装成功后,telnet可以成功,不过好像不是立即成功生效,过一会用stats才会有详细显示. 本机用 <?php $mem = new Memcache; $mem->connect(‘192.168.124.129′,11211)

CentOS 安装软件时,错误Transaction check error ... file...conflicts with file from package zzz的解决

CentOS 安装软件时(比如:# yum install subversion),有时候会碰到类似如下的错误: Transaction check error: file /usr/lib64/libsvn_client-1.so.0.0.0 from install of subversion-1.8.11-1.x86_64 conflicts with file from package subversion-libs-1.7.14-7.el7_0.x86_64 file /usr/lib

centos 安装视频播放器mplayer

centos 桌面安装mplayer播放器看视频今天安装上centos 6.3 的 桌面环境来搭配 java开发环境.   完事之后,发现centos6.3 桌面程序应用中的 电视播放器 无法播放AVI 等视频(原来都是命令行) 本身centos 属于服务器系统 对于影音软件的集成 就比较 含蓄来.那我们就使用常用的mplayer 播放器来作为我们的视频播放器吧. 因为我装的系统是 64位的 所以 一下链接 都是64位的 第一: rpm -ivh [url=http://tree.repofor