您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页Keepalived-在没有之前配置的Nginx高可用(不建议采纳)

Keepalived-在没有之前配置的Nginx高可用(不建议采纳)

来源:榕意旅游网


前言

3)基于SHELL编程脚本一键实现Nginx高可用,主要编程思路如下:

auto_config_Nginx_vip_2_v1.sh

#!/bin/bash
#auto check nginx vip
ETH_NAME="ens33:0"
ETH_VIP="192.168.1.188"
ETH_MASK="255.255.255.0"
ETH_DIR="/etc/sysconfig/network-scripts"

function eth_config(){
cat>ifcfg-$ETH_NAME <<EOF
TYPE=Ethernet
BOOTPROTO=static
DEVICE=$ETH_NAME
ONBOOT=yes
IPADDR=$ETH_VIP
NETMASK=$ETH_MASK
EOF
}
while true
do
        CHECK_NUM=$(ps -ef|grep nginx|grep -v grep|grep -v check|wc -l)
        if [ $CHECK_NUM -ne 0 ];then
                ping -c 5 $ETH_VIP
                if [ $? -ne 0 ];then
                        cd $ETH_DIR
                        eth_config
                        ifup $ETH_NAME
                fi
        else
                ifdown $ETH_NAME
                rm -rf $ETH_DIR/ifcfg-$ETH_NAME
        fi
        sleep 5
done


        sleep 5                                                                                
done	

auto_config_Nginx_vip_2_v2.sh

#!/bin/bash
#auto change service VIP
##########################
ETH_NAME="ens33:1"
NGX_VIP="192.168.1.188"
NGX_MASK="255.255.255.0"
ETH_DR="/etc/sysconfig/network-scripts"
NGX_NUM=`ps -ef|grep nginx|grep -v grep|grep -v check|wc -l`

start(){
while sleep 4
do
        if [ $NGX_NUM -eq 0 ];then
                ifdown $ETH_NAME
                exit 0
        else
                ping -c 2 $NGX_VIP>/dev/null 2>&1
                if [ $? -ne 0 ];then
                        cat >$ETH_DIR/ifcfg-$ETH_NAME<<-EOF
                        TYPE="Ethernet"
                        BOOTPROTO="static"
                        DEVICE="$ETH_NAME"
                        IPADDR=$NGX_VIP
                        NETMASK=$NGX_MASK
                        ONBOOT="yes"
                        EOF
                        ifup $ETH_NAME
                fi
        fi
        date
done
}

stop(){
        ifdown $ETH_NAME
        rm -rf $ETH_DIR/ifcfg-$ETH_NAME
}

case $1 in
        start)
                start
        ;;
        stop)
                stop
        ;;
        *)
                echo -e "\033[32m-----------------\033[0m"
                echo -e "\033[32mUsage:/bin/sh $0 {start|stop|help}\033[0m"
                exit 1
        ;;
esac      

总结

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务