nginx+keepalived互为主主高可用配置

 

nginx主从安装配置都一样   就是配置文件 多加个vip  里面具体要改的 请看下面的配置文件

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

! Configuration File for keepalived
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
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.1.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.1.189
}
track_script {
chk_nginx
}
}

在另外一台服务器1.118上同样配置,只需要把相应的state对改就OK,把原先的master改成backup,把backup改成master即可,然后在两台服务器分别启动keepalived服务即可,然后访问两个VIP即可。

最后需要在两台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

双主就是两台nginx主主都有绑定vip

 

 

如下图情况,两个VIP在一台服务器,是由于其中一台nginx服务器down机,VIP都漂移到本机网卡下。(这里有一点好处:这样就是基于DNS负载均衡模式 因为有两个vip做了dns域名解析 两个vip来回循用,就算其中一台down了 ,也可以解约vip飘逸的时间了)

 

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

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

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

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

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

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

猜你喜欢

转载自www.cnblogs.com/zhangan/p/10881372.html