操作系统:CentOS 6.5   Haproxy软件版本:haproxy-1.4.24  Nginx软件版本:nginx-1.6.2

    Haproxy是目前比较流行的一种集群调度工具,之前提到Nginx的upstream模块也能实现集群的负载均衡,但是Nginx不能对节点进行健康检查,性能也没有Haproxy好

    负载均衡常用的调度算法:RR(Round Robin)轮询调度、LC(Least Connections)最小连接数和SH(Source Hashing)基于来源的访问调度

案例拓扑图:

wKiom1bdAt-gl5kFAABCErV-UvA881.jpg

案例环境:

wKioL1bdA8aQPKVAAADBHjXT3Bs576.jpg

一、搭建Nginx服务器

1.编译安装(分别在两台服务器上安装Nginx)

Nginx的安装方法可以参考:Nginx的源码安装

2.在Nginx服务器1上创建测试页,并启动服务,注意防火墙

wKiom1bdBuGC9745AAAmRVc3-Bo056.jpg

wKiom1bdBvyhztFwAABE96vcVAw627.jpg

3.在Nginx服务器2上创建测试页,并启动服务,注意防火墙

wKioL1bdCXHgIrWMAABoQOSBnqk001.jpg

生产环境下,两个服务器上面的网页应该是一样的,这里为了看出负载均衡的效果,所以有所不同

二、搭建Haproxy服务器

1.编译安装

准备工作:安装Haproxy所需工具包pcre-devel、bzip-devel

wKiom1bdDA_hTU6-AAAWfBR7AQ4784.jpg

安装Haproxy

wKiom1bdDPHwqbMMAAAnbp9SOdk747.jpg

建立Haproxy配置文件(创建配置文件目录,将haproxy.cfg文件复制到该目录下)

wKiom1bdDXuBUHGQAAApvkSmdQ8284.jpg

2.修改配置文件

wKiom1bdD2-hpv58AAAUZYUzaZg121.jpg

wKioL1bdHBbi7TdgAACVZewsYgQ638.jpg

3.创建自启动脚本

wKioL1bdEW6BgiuwAABGCeo6jKc660.jpg

4.启动Haproxy服务,注意防火墙

wKioL1bdHK-jZ_XEAABSaQUNeN0570.jpg

三、测试web集群效果

1.在客户端第一次打开192.168.1.60,显示如下:

wKiom1bdHXXzUk_WAAB_w49iwuk969.jpg

2.直接按”F5″刷新网页,结果如下:

wKioL1bdHh6DQ0DWAACBROravew649.jpg

可以看到,每次访问的服务器都不同,这样就实现负载均衡

3.我们关闭Nginx服务器1

wKiom1bdHmKSY6PLAAAQfnm1T84105.jpg

然后继续访问192.168.1.60,结果如下:

wKioL1bdHwqx0WD0AACBROravew715.jpg

依旧可以正常浏览网页,这样就满足了集群的高可用性