zoukankan      html  css  js  c++  java
  • nginx+keepalived高可用的并发解决方案(两台虚拟机)

    nginx+keepalived高可用的并发解决方案(两台虚拟机)

    1.分类安装nginx并搭建tomcat集群
    2.执行yum -y install libnl libnl-devel
    yum install -y libnfnetlink-devel
    3.上传keepalived安装包并解压,解压后安装编译
    ./configure --prefix=/kht/keepalived
    make && make install
    启动命令:systemctl start keepalived
    4.查看keepalived的实时日志:tail -f  /var/log/messages
    4.在etc下新建keepalived目录,将安装后的/kht/keepalived目录下的
    /etc/keepalived的keepalived.conf配置文件拷贝到/etc/keepalived目录下
    5.将安装后的/kht/keepalived目录下的/etc/sysconfig/keepalived  
    拷贝到/etc/sysconfig/目录
    6.执行
    ln -s /kht/keepalived/sbin/keepalived        /usr/local/bin/
    ln -s /kht/keepalived/bin/genhash /usr/local/bin/
    
    8.在/etc/keepalived目录下vim chek_nginx.sh,
    为chek_nginx.sh授权必须是744不能是777,内容如下
    #!/bin/bash
    Ng=`ps -C nginx --no-header | wc -l`
    if [ $Ng -eq 0 ];then
    #nginx重启命令
        /kht/tomcatcolony/nginxtomcat/sbin/nginx
        sleep 2
        Ng=`ps -C nginx --no-header | wc -l`
        if [ $Ng -eq 0 ];then
            /etc/init.d/keepalived stop
        fi
    fi
    
    9.vim /etc/keepalived.conf(主机)
    global_defs {
    router_id keep127
    script_user root
    enable_script_security
    #keep127保持与主机名一致,在/etc/hosts/最下方添加127.0.0.1 keep127
    }
    vrrp_script chek_nginx {
            script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
            interval 2                 # 检测时间间隔
            weight -20
    }
    
    vrrp_instance VI_1 {
        state MASTER  #状态
        interface ens33  #网卡名称
        virtual_router_id 127 #与备主机一致
        mcast_src_ip 192.168.2.127
        priority 100 #优先级,正比
        nopreempt#优先级高的设置,nopreempt解决异常恢复后再次抢占的问题
        advert_int 1
    #组播信息发送间隔,两个节点设置必须—样,默认为1s
        authentication {
            auth_type PASS
            auth_pass kht #根据情况
        }
        track_script {
            chek_nginx #监控脚本
    }
        virtual_ipaddress {
            192.168.2.131  #VIP虚拟ip,主备一致
    }
    }
    
    10.vim /etc/keepalived.conf(备机)
    global_defs {
    router_id keep130
    }
    vrrp_script chek_nginx {
            script "/etc/keepalived/chek_nginx.sh" #检测 nginx 状态的脚本路径
            interval 2                                              # 检测时间间隔
            weight -20
    }
    
    vrrp_instance VI_1 {
        state BACKUP  #状态
        interface ens33  #网卡名称
        virtual_router_id 126 #与备主机一致
        priority 90 #优先级,正比
        mcast_src_ip 192.168.2.126
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass kht #根据情况
        }
        track_script {
            chek_nginx #监控脚本
    }
        virtual_ipaddress {
            192.168.2.131  #VIP
    }
    }
    
  • 相关阅读:
    日历
    复数的运算
    大数的计算
    poj 1562
    POJ 1002
    利用正则表达式检测违禁字
    js实现一个闹钟
    jQuery实现五星好评
    jquery实现计算器功能
    横向轮播图
  • 原文地址:https://www.cnblogs.com/khtt/p/15233595.html
Copyright © 2011-2022 走看看