企业Nginx+Keepalived双主架构案例实战

通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装后的网络架构图;

 

直接master1上keepalived.conf配置文件内容:

! Configuration File for keepalived

 

 global_defs {

 

  notification_email {

 

      wgkgood@163.com

 

 }

 

    notification_email_from wgkgood@163.com

 

    smtp_server 127.0.0.1

 

    smtp_connect_timeout 30

 

    router_id LVS_DEVEL

 

 }

 

 vrrp_script chk_nginx {

 

    script "/data/sh/check_nginx.sh"

 

    interval 2

 

    weight 2

 

 }

 

 # VIP1

 

 vrrp_instance VI_1 {

 

     state MASTER

 

     interface eth0

 

     lvs_sync_daemon_inteface eth0

 

     virtual_router_id 151

 

     priority 100

 

     advert_int 5

 

     nopreempt

 

     authentication {

 

         auth_typePASS

 

         auth_pass  1111

 

     }

 

     virtual_ipaddress {

 

         192.168.33.188

 

     }

 

     track_script {

 

     chk_nginx

 

    }

 

 }

# VIP2

 

 vrrp_instance VI_2 {

 

     state BACKUP

 

     interface eth0

 

     lvs_sync_daemon_inteface eth0

 

     virtual_router_id 152

 

     priority  90

 

     advert_int 5

 

     nopreempt

 

     authentication {

 

         auth_typePASS

 

         auth_pass  2222

 

     }

 

     virtual_ipaddress {

 

         192.168.33.199

 

     }

 

     track_script {

 

     chk_nginx

 

    }

 

 }

在另外一台服务器33.10上同样配置,只需要把相应的state对改就OK,把原先的master改成backup,把backup改成master即可,然后在两台服务器分别启动keepalived服务即可,然后访问两个VIP即可。如下粘贴一下master2配置文件内容:

! Configuration File for keepalived

 

 global_defs {

 

  notification_email {

 

      wgkgood@163.com

 

 }

 

    notification_email_from wgkgood@163.com

 

    smtp_server 127.0.0.1

 

    smtp_connect_timeout 30

 

    router_id LVS_DEVEL

 

 }

 

 vrrp_script chk_nginx {

 

    script "/data/sh/check_nginx.sh"

 

    interval 2

 

    weight 2

 

 }

 

 # VIP1

 

 vrrp_instance VI_1 {

 

     state BACKUP

 

     interface eth0

 

     lvs_sync_daemon_inteface eth0

 

     virtual_router_id 151

 

     priority 90

 

     advert_int 5

 

     nopreempt

 

     authentication {

 

         auth_typePASS

 

         auth_pass  1111

 

     }

 

     virtual_ipaddress {

 

         192.168.33.188

 

     }

 

     track_script {

 

     chk_nginx

 

    }

 

 }

# VIP2

 

 vrrp_instance VI_2 {

 

     state MASTER

 

     interface eth0

 

     lvs_sync_daemon_inteface eth0

 

     virtual_router_id 152

 

     priority  100

 

     advert_int 5

 

     nopreempt

 

     authentication {

 

         auth_typePASS

 

         auth_pass  2222

 

     }

 

     virtual_ipaddress {

 

         192.168.33.199

 

     }

 

     track_script {

 

     chk_nginx

 

    }

 

 }

 

最后需要在两台Nginx主服务器上配置/data/sh/check_nginx.sh脚本,内容如下:

#!/bin/bash

#auto check nginx  process

killall  -0   nginx

if

[[ $? -ne 0 ]];then

 

/etc/init.d/keepalived stop

fi

如下图情况,两个VIP在一台服务器,是由于另外一台服务器down机,VIP都漂移到本机网卡下。

 

双主在企业实施中需要注意的地方:

1、配置文件必须设置不同的VRRP名称,同时优先级和VIP设置也同样需要注意。

2、网站总访问量为两台Nginx之和,可以写脚本实现。

3、两个VIP存在后,外网如果需要访问,需要做域名映射到两个VIP上即可。

4、这样就是基于DNS负载均衡模式。

5、需要配置监控实时监控VIP访问状态是否正常。

转载于:https://www.cnblogs.com/linuxx/p/8042074.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值