怎样在Haproxy中搭建Web群集?
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会
千家信息网最后更新 2025年12月03日怎样在Haproxy中搭建Web群集?
HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。
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安全错误
数据库的锁怎样保障安全
网络技术论坛峰会
数据库查询伴生
java软件开发路线
网络安全拦截软件
深圳单机版外贸软件开发
地质数据库 涉密
哪个红石方块对服务器卡顿最高
网络安全sa
广西昌世互联网科技有限公司
打开数据库xs.dbc的命令是
数据填报系统软件开发
怎样调整数据库可用空间
政府公用网络安全
方舟服务器管理器教程
奉化区加工刀片服务器
数据库显示2004
mac m1 软件开发
如何提高网络安全共性
英国大学软件开发专业好
软件开发前景如何2016
台北网络安全培训机构
8e数据库下载链接
昆明尨泰网络技术有限公司
语音云服务器异常
甘肃企业微服务架构数据库
红古警方开展网络安全宣传
番禺区品质网络技术开发商家
少年网络安全的几条规则
义县软件开发项目管理在线咨询
数据库驱动是Jar包吗