zoukankan      html  css  js  c++  java
  • 检查nginx后端real server脚本,实现发现宕机剔除,恢复服务自动加入功能

    #!/bin/bash
    #Author: Liang WeiCheng
    
    ip_array=($(grep "server 10.112.84" /etc/nginx/nginx.conf |awk '{print $2}'))
    while true
    do
            ##对当前负载均衡的所有节点挨个检查
        for((i=0;i<${#ip_array[*]};i++))
        do
             egrep "^#.*${ip_array[$i]}.*" /etc/nginx/nginx.conf &>/dev/null         
    
             [ $? -eq 0 ] && continue
    
             status=`curl -s -w "%{http_code}" -o /dev/null ${ip_array[$i]}`
    
             if [ ${status} -ne 200 ]
                 then
                  sed -i "s/server ${ip_array[$i]}/#server ${ip_array[$i]}/g" /etc/nginx/nginx.conf
                  /usr/sbin/nginx  -s reload
    
             fi
        done
            
            sleep 5
            for((i=0;i<${#ip_array[*]};i++))
            do
                         a=`curl -s -w "%{http_code}" -o /dev/null ${ip_array[$i]}`
    
                     if [ ${a} -eq 200 ];then
                      egrep "^#.*${ip_array[$i]}.*" /etc/nginx/nginx.conf &>/dev/nullif [ $? -eq 0 ];then
                       sed -i -r "s/#(.*${ip_array[$i]}.*)/1/g" /etc/nginx/nginx.conf
                       /usr/sbin/nginx -s reload
    
                      fi
                      fi
            done
    done

    对应的nginx文件的配置:

    http://www.itnose.net/detail/6411167.html

  • 相关阅读:
    关于 Vue
    HTTP 知识点
    JS 的一些原生属性
    JS知识点-2 通信类
    原生JS知识点
    CSS知识点
    HTML知识点
    关于在Ajax中使用pushstate
    JavaScript 中的 This
    观察者模式
  • 原文地址:https://www.cnblogs.com/sos-blue/p/7384834.html
Copyright © 2011-2022 走看看