Haproxy 搭建 Web群集
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,文章目录一、常见的 Web集群调度器:二、Haproxy 应用分析:三、Haproxy 调度算法原理:四、实验示例:第一步:搭建两台 Nginx 服务器第二步:搭建 Haproxy第三步:在 win1
千家信息网最后更新 2025年12月01日Haproxy 搭建 Web群集
文章目录
一、常见的 Web集群调度器:
二、Haproxy 应用分析:
三、Haproxy 调度算法原理:
四、实验示例:
第一步:搭建两台 Nginx 服务器
第二步:搭建 Haproxy
第三步:在 win10 上用浏览器访问调度服务器 (192.168.100.100/test.html)
第四步:优化日志
一、常见的 Web集群调度器:
目前常见的 Web 集群调度器分为软件和硬件,软件通常使用开源的LVS、Haproxy、Nginx,硬件一般使用比较多的是 F5,也有很多人使用国内的一些产品,如梭子鱼、绿盟等。
二、Haproxy 应用分析:
(1)LVS 在企业应用中抗负载能力很强,但存在不足:
LVS 不支持正则处理,不能实现动静分离;
对于大型网站,LVS 的实现配置复杂,维护成本相对较高
(2)Haproxy 是一款可提供高可用性、负载均衡、及基于 TCP 和 HTTP 应用的代理的软件
特别适用于负载特别大的 Web站点;
运行在当前的硬件上可支持数以万计的并发连接请求
三、Haproxy 调度算法原理:
Haproxy 支持多种调度算法,最常用的有三种:
(1)RR:
RR 算法是最简单最常用的一种算法,即轮询调度;

(2)LC:
LC 算法即最小连接数算法,根据后端的节点连接数大小动态分配前端请求;
(3)SH:
SH 即基于来源访问调度算法,次算法用于一些有 Session 会话记录在服务器端的场景,可以基于来源的 IP、Cookie 等做集群调度。
四、实验示例:
(1)环境准备:
两台 Nginx 服务器,一台 Haproxy调度服务器,一台window作为测试用;
在两台 Nginx服务器写两个测试网页;
所有主机网卡都设置成仅主机模式,修改好网卡信息;
客户端可以通过访问调度服务器,访问到两台节点服务器,不需要访问真实服务器地址。
角色 IP地址
Haproxy 192.168.100.100
Nginx 01 192.168.100.201
Nginx 02 192.168.100.202
window10(作为测试用) 192.168.100.50

第一步:搭建两台 Nginx 服务器
这边具体细节不再写了,可以看之前的博客,有详细写搭建过程和细节。
搭建好 Nginx服务之后,在 Nginx主页 html 中添加一个测试主页,便于验证实验结果:
第一台:
第二台:
第二步:搭建 Haproxy
(1)安装编译工具:
yum install bzip2-devel pcre-devel gcc gcc-c++ make -y(2)可以通过远程挂载将 haproxy压缩包挂载到本地,再解压缩:
tar zxvf haproxy-1.5.19.tar.gz -C /opt/ //解压到/opt目录下(3)编译:
make TARGET=linux3100注:这个版本号,可以使用 uname -a 命令来查看版本号make install(4)创建文件,进行备份修改:
mkdir /etc/haproxycp examples/haproxy.cfg /etc/haproxy/vim /etc/haproxy/haproxy.cfgglobal log 127.0.0.1 local0 log 127.0.0.1 local1 notice #log loghost local0 info maxconn 4096 uid 99 gid 99 daemon #debug #quietdefaults log global mode http option httplog option dontlognull retries 3 maxconn 2000 contimeout 5000 clitimeout 50000 srvtimeout 50000listen webcluster 0.0.0.0:80 option httpchk GET /test.html balance roundrobin server inst1 192.168.100.201:80 check inter 2000 fall 3 server inst2 192.168.100.202:80 check inter 2000 fall 3(5)启动脚本:
cp examples/haproxy.init /etc/init.d/haproxy //复制到init.d启动进程中chmod +x /etc/init.d/haproxy //添加执行权限chkconfig --add haproxy //添加到service,便于识别ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy //创建软连接(6)开启服务:
service haproxy start关闭防火墙等环境
[root@Haproxy haproxy-1.5.19]# systemctl stop firewalld.service [root@Haproxy haproxy-1.5.19]# setenforce 0第三步:在 win7 上用浏览器访问调度服务器(192.168.100.100/test.html)
第四步:优化日志
对调度器的配置文件进行优化和修改,可以将正常的访问信息和错误的信息分别存放在不同的日志文件中,方便管理;Haproxy的日志默认是输出到系统的 syslog 中,在生产环境中一般单独定义出来。
(1)修改主配置文件
vim/etc/haproxy/haproxy.cfg修改global段:log /dev/log local0 info //正常访问的信息存放地log /dev/log local0 notice //提示、警告等信息存放地(2)重启服务
service haproxy restart(3)创建文件,并添加规则
[root@Haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf[root@Haproxy haproxy]# cd /etc/rsyslog.d/[root@Haproxy rsyslog.d]# vim haproxy.conf if ($programname == 'haproxy' and $syslogseverity-text == 'info')then -/var/log/haproxy/haproxy-info.log&~if ($programname == 'haproxy' and $syslogseverity-text == 'notice')then -/var/log/haproxy/haproxy-notice.log&~(4)重启日志服务
systemctl restart rsyslog.service(5)查看日志文件: /var/log/haproxy/haproxy-info.log
服务
调度
服务器
算法
文件
日志
信息
集群
应用
测试
常见
环境
硬件
软件
实验
支持
配置
主机
主页
原理
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
宜章安卓软件开发培训学校
关于软件开发的控制制度
网络安全是怎么做的
哈密网络技术服务
icmp服务器本地存储不可用
机器人软件开发平台完整版
华为账号登录连接不了服务器
网络安全 图标素材
数据库如何生成主键唯一
新的纯生存的服务器
steam 游戏服务器
如何保障网络安全稳定
免费白嫖的服务器
服务器系统连接不上
网络安全新驱动新特点新常态
在数据库中字段名可以相同吗
我的世界1.9.0服务器
wow国服服务器开服时间
数据库向列表框组合框添加数据
复古相机软件开发
dz数据库搬家
逾期上报金融信息数据库
20名网络安全先进典型
软件开发模型使用情况
为自己建立一个数据库
人间地狱匹配不到服务器
数据库右键删除如何恢复
雨花台区网络技术研究
机房服务器安全注意
服务器加硬盘可以保修吗