zoukankan      html  css  js  c++  java
  • Nginx+Keepalived+VIP漂移实现HA高可用技术之详细教程

    https://www.cnblogs.com/zcc666/p/13141626.html  这个是nginx安装教程地址

    https://www.cnblogs.com/zcc666/p/13138260.html  这个是Keepalived的安装教程地址

    1.首先把nginx、Keepalived安装好了,我们开始进行今天的技术分析话题

    2.准备2台linux负载服务器,并且2台都要安装nginx、Keepalived程序。

       准备一个虚拟IP,我这里用192.168.1.20

                     第一台linux的地址:192.168.2.2 (主 MASTER)

                     第二台linux的地址:192.168.2.3 (从 BACKUP)

    3.nginx里面的配置写好自己要负载的ip地址和端口号。

    4.开始对第一台linux的地址:192.168.2.2 (主 MASTER)的Keepalived的配置进行修改。

         默认的配置路径在  /etc/Keepalived/Keepalived.conf

    global_defs {
       router_id LVS_DEVEL
       script_user root
       enable_script_security
    }
    vrrp_script chk_nginx 
    { 
         script "/etc/keepalived/scripts/nginx_check.sh" 
         interval 2 
         timeout 2
         fall 3
         weight -20
    }
    
    vrrp_instance nginx {
         state MASTER
         interface eth0  
         virtual_router_id 100 
         priority  100       
         #nopreempt # no seize,must add
         advert_int 1
             authentication {   #all node must same
             auth_type PASS
             auth_pass 1111
        }   
        
        unicast_src_ip 192.168.2.2
        unicast_peer {
             192.168.2.3
        }    
    
        virtual_ipaddress {  
             192.168.1.20
        }
        track_script { 
             chk_nginx 
        } 
    
    }

    在这个地方新增一个文件夹

       mkdir   /etc/keepalived/scripts/

    这个下面存放一个脚本  nginx_check.sh,代码如下

    #!/bin/bash
    A=`ps -C nginx --no-header |wc -l`
    if [ $A -eq 0 ];then
    systemctl start nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
    systemctl stop keepalived.service
    fi
    fi

    之后,对该scripts下脚本赋给权限

       chmod   a+x  /etc/keepalived/scripts/*.sh

    此时就可以启动keepalived、nginx

    然后看看 ip add 这里的VIP就漂移到主负载地址下面了。

    ++++++++++++++++++++++++++++++++++++++++++

    ++++++++++++++++++++++++++++++++++++++++++

    5.开始对第一台linux的地址:192.168.2.3 (主 BACKUP)的Keepalived的配置进行修改。

         默认的配置路径在  /etc/Keepalived/Keepalived.conf

    global_defs {
       router_id LVS_DEVEL
       script_user root
       enable_script_security
    }
    vrrp_script chk_nginx 
    { 
         script "/etc/keepalived/scripts/nginx_check.sh" 
         interval 2 
         timeout 2
         fall 3
         weight -20
    }
    
    vrrp_instance nginx {
         state BACKUP
         interface eth0  
         virtual_router_id 100 
         priority  90       
         #nopreempt # no seize,must add
         advert_int 1
             authentication {   #all node must same
             auth_type PASS
             auth_pass 1111
        }   
        
        unicast_src_ip 192.168.2.3
        unicast_peer {
             192.168.2.2
        }    
    
        virtual_ipaddress {  
             192.168.1.20
        }
        track_script { 
             chk_nginx 
        } 
    
    }

    在这个地方新增一个文件夹

       mkdir   /etc/keepalived/scripts/

    这个下面存放一个脚本  nginx_check.sh,代码如下

    #!/bin/bash
    A=`ps -C nginx --no-header |wc -l`
    if [ $A -eq 0 ];then
    systemctl start nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
    systemctl stop keepalived.service
    fi
    fi

    之后,对该scripts下脚本赋给权限

       chmod   a+x  /etc/keepalived/scripts/*.sh

    此时就可以启动keepalived、nginx

    然后看看 ip add 这里的VIP不在此服务器上。

    最后:

           可以关闭主服务器的keepalived、nginx 然后看看从服务器的vip就漂移过来了。

  • 相关阅读:
    Android studio ButterKnife插件
    Android Studio Prettify 插件
    Android studio的主题颜色修改
    MeasureSpec 的三中类型
    android 加载远程Jar、APK
    android源码 键盘消息处理机制
    Android源码阅读笔记二 消息处理机制
    phpstrom 激活
    sublime vue 语法高亮插件安装
    mysql登录报错“Access denied for user 'root'@'localhost' (using password: YES”的处理方法
  • 原文地址:https://www.cnblogs.com/zcc666/p/13142104.html
Copyright © 2011-2022 走看看