haproxy搭建web群集

haproxy案例概述

------------前言:楼主在之前搭建过几种群集,例如tomcat+nginx负载均衡群集,lvs负载均衡群集,haproxy搭建群集与三种群集相比较来说,lvs性能最好,但是搭建复杂,我们刚刚做过这个实验,也深有体会,nginx的upstream模块支持群集,但是对群集的节点的故障检查功能不多,性能也没有haproxy好,所以应该说harpoxy也是非常不错的,在有些公司也使用这个软件搭建群集,
Haproxy是目前比较流行的一种集群调度工具
Haproxy 与LVS、Nginx的比较
LVS性能最好,但是搭建相对复杂
Nginx的upstream模块支持集群功能,但是对集群节点健康检查功能不强,性能没有Haproxy好
本案例介绍使用Haproxy及Nginx搭建一套Web集群
案例分析:前置知识点
HTTP请求
请求方式:GET方式,POST方式
返回状态码:正常的状态码为2××、3××,异常的状态码为4××、5××
负载均衡常用调度算法
RR(Round Robin):轮询调度
LC(Least Connections):最小连接数
SH(Source Hashing):基于来源访问调度

案例分析:案例环境

haproxy搭建web群集
haproxy搭建web群集

综合实验:搭建hproxy群集**

1、实验拓扑
haproxy搭建web群集

2、虚拟机的实验环境
haproxy搭建web群集
一台haproxy服务器,二台nginx服务器,搭建两个不同的网站(方便测试群集),一台客户机上网测试。

3、实验步骤
1)编译安装haproxy
首先安装两个支持包
haproxy搭建web群集
haproxy搭建web群集
haproxy搭建web群集

2)haproxy服务器的配置
首先建立haproxy的配置文件
haproxy搭建web群集

拷贝配置文件的样本复制到/etc/haproxy目录下
haproxy搭建web群集
修改haproxy.cfg配置文件
haproxy搭建web群集
haproxy搭建web群集
haproxy搭建web群集
3)创建自启动脚本
haproxy搭建web群集
--失误,后面是/etc/init.d//haproxy
haproxy搭建web群集
--失误,后面是/usr/bin/haproxy
haproxy搭建web群集
--失误,后面是/etc/init.d/haproxy
4)安装nginx并制作网页
haproxy搭建web群集
启动nginx服务
haproxy搭建web群集
剩下的节点配置一样,为了测试时看出效果,建议将测试页的内容不要保持一致
haproxy搭建web群集
haproxy搭建web群集
5)开启haproxy服务
haproxy搭建web群集
注意在防火墙上开启例外,或者关闭防火墙
iptables -I INPUT -p tcp --dport 80 -j ACCEPT

6)测试web群集
首先测试负载均衡
在客户端上打开http://192.168.1.10,浏览器显示第一台网页
haproxy搭建web群集
再次打开一个新的浏览器访问,显示第二台网页
haproxy搭建web群集
下面再测试一下高可用,我们把第一台服务器的网卡断掉,模拟服务器出现故障,如果网页依然可以访问,说明群集的高可用没有问题。
haproxy搭建web群集
7)配置haproxy日志
Haproxy的日志默认是保存到系统的syslog中,查看起来不方便,所以我们在生产环境中可以将日志单独存储到不同的文件中,配置如下
首先修改配置文件,主要改下面的部分
haproxy搭建web群集
这两行的作用是将info和notice的日志分别记录到不同的文件中

然后修改rsyslog配置,将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d下,rsyslog启动时会自动加载此目录下所有的配置文件。
haproxy搭建web群集
加入以下内容
haproxy搭建web群集
以下内容是将info和notice日志放到不同的文件中

然后重新启动rsyslog服务
haproxy搭建web群集
测试日志信息
在客户机访问网站之后,可以使用tail -f /var/log/haproxy/haproxy-info.log即时查看日志
haproxy搭建web群集
4、为了实现haproxy的高可用,我们可以配置keepalived,配置方法参考上博客,上一个博客是在lvs上配置,但不同的是我们今天在haproxy上来配置。
虚拟机上的环境如下图所示
haproxy搭建web群集
上图中增加了一台haproxy,用来做备份,在上面安装keepalived,和上一章配置keepalived步骤相同,大家自己练习一下,配置好了之后断掉第一台haproxy,网站依然可以访问对了。
注意防火墙开启224.0.0.18端口,这是keepalived的组播地址。
iptables -I INPUT -p ip -d 224.0.0.18 -j ACCEPT
----------------如有不懂请留下评论

转载于:https://blog.51cto.com/982439641/2069222