centos6 服务器上为应用进程添加守护

为应用进程添加守护,在应用意外退出或服务器重启时,保证应用会被自动重启

安装和配置守护程序(supervisor)

  1. easy_install supervisor (下载安装supervisor)
  2. /usr/local/bin/echo_supervisord_conf > /etc/supervisord.conf  (添加配置文件,从default复制)
  3. printf "[include]\nfiles = supervisor/conf.d/*.conf\n" >> /etc/supervisord.conf (在配置文件中指定子配置位置)
  4. mkdir  -p   /etc/supervisor/conf.d/  (创建子配置文件目录)
  5. mkdir -p /opt/deploy/  (创建supervisor启动配置目录)
  6. vim /opt/deploy/supervisord (添加supervisor启动配置,内容如下:
    #!/bin/sh
    # Source function library.
    . /etc/rc.d/init.d/functions
    supervisorctl="/usr/local/bin/supervisorctl"
    supervisord="/usr/local/bin/supervisord"
    name="supervisor-python"
    [ -f $supervisord ] || exit 1
    [ -f $supervisorctl ] || exit 1
    RETVAL=0
    start() {
         echo -n "Starting $name: "
         $supervisord -c /etc/supervisord.conf
         RETVAL=$?
         echo
         return $RETVAL
    }
    stop() {
         echo -n "Stopping $name: "
        $supervisorctl shutdown
         RETVAL=$?
         echo
         return $RETVAL
    }
    case "$1" in
             start)
                 start
                 ;;
             stop)
                 stop
                 ;;
             restart)
                 stop
                 start
                 ;;
    esac
    exit $REVAL

  7. chmod +x /opt/deploy/supervisord (添加可执行权限)

  8. ln -s /opt/deploy/supervisord /etc/init.d (注册supervisord,使其可以使用service xxx restart/stop/start)

  9. chkconfig supervisord on (改变服务的启动信息)

 

添加需要守护的应用  

  1. vim  /etc/supervisor/conf.d/xxx.conf (添加xxx应用的守护配置,内容如下:
    [program:xxxx]
    command=/usr/bin/java -Xms2048m -Xmx2048m  -server -jar /home/ec2-user/xxx/xxx.jar
    user=ec2-user
    directory=/home/ec2-user/xxx/logs/..
    autostart=true
    autorestart=true
    startsecs=30
    startretries=1
  2. service supervisord start (启动守护服务)

  3. supervisorctl reload (添加或更新xxx.conf后执行这个命令可以使配置更新)

  4. supervisorctl update (添加或更新xxx.conf后执行这个命令可以使改动立即生效)

其他命令

  1. supervisorctl status (列出被守护应用)

  2. supervisorctl start/stop xxx  (启动/停止xxx应用,notes:用service xxx stop/kill -9 *** 停止某个应用服务会失效,因为会被守护重启,所以如果要主动停止某个应用要使用这行命令 supervisorctl stop xxx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值