Linux深入篇之九:构建企业级Nginx+Keepalived集群架构

      随着Nginx在国内的发展潮流,越来越多的互联网公司都在使用Nginx。

Nginx高性能、稳定性成为IT人士青睐的http和反向代理服务器,今天我们来实战构建Nginx+Keepalived高可用架构配置,如下为网络架构图:

wKiom1X5JYiDR2esAAERZ4Zi5wU806.jpg

1、实验准备:

系统环境:CentOS 6.5 x86_64

Nginx版本:nginx v1.6.2

Keepalived版本:keepalived v1.2.1

Nginx-1:192.168.174.13 (Master)

Nginx-2:192.168.174.14 (Backup)

2、Nginx安装配置

分别在两台服务器安装Nginx、keepalived

3、Keepalived配置

两台服务器端keepalived.conf内容都为如下,都设置为backup,不抢占,注意修改备用机优先级不同:

wKioL1X5LQ-DlzkvAAEACKJYeT8243.jpg

wKiom1X5KtnTW2SPAADjO3T8omE844.jpg

4、建立check_nginx脚本,以方便检查本地Nginx是否存活更好的切换。Check_nginx.sh脚本内容如下:

wKiom1X5LS-zULHcAAB3YGChMcY540.jpg

5、Nginx配置

在两台Nginx服务器分别新建index.html测试页面,然后启动Nginx服务测试

访问VIPhttp://192.168.174.134

wKioL1X5MZHS9YyzAADykdM8q9Y706.jpg

 

 

通过上面实验:

由于Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢?

我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装后的网络架构图:

wKiom1X5MLGQGCoYAAEkrDCXPaQ312.jpg

实验步骤:

1、master上keepalived.conf配置文件内容:

wKiom1X5fWOCiI06AAHLRHrDzo0054.jpg

wKioL1X5f5qTnFTDAAEWacDprSo630.jpg

在另一台服务器上只需要:把原先的master改成backup,把backup改成master即可:

另一个master上keepalived.conf配置文件内容:

wKioL1X5f7PDV4c7AAG3CWFSajA366.jpg

wKioL1X5f7PTvWHYAAEmqVM2Ozc647.jpg

2、在两台服务器分别启动keepalived服务即可,然后访问两个VIP的测试页面:

wKioL1X5fw_i4taZAAHb7Iobh1o811.jpg

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

wKioL1X5gEii7KxBAACEOqpPC8Y614.jpg

3、模式其中192.168.174.13宕机,两个VIP在一台服务器,是由于另外一台服务器down机,VIP都漂移到本机网卡下:

wKioL1X5gYrjRG4BAAbPDydQE60244.jpg

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

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

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

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

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