千家信息网

使用Haproxy搭建web集群

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,常见的web集群调度器目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等Hapr
千家信息网最后更新 2026年11月02日使用Haproxy搭建web集群

常见的web集群调度器

目前常见的web集群调度器分为软件和硬件,软件通常使用开源的LVS,Haproxy,Nginx,硬件一般使用比较多的是F5,也有很多人使用国内的一些产品,如梭子鱼,绿盟等

Haproxy应用分析

LVS在企业应用中抗负载能力很强,但存在不足

LVS不支持正则处理,不能实现动静分离
对于大型网站,LVS的实施配置复杂,维护成本相对较高

Haproxy是一款可提供高可用性,负载均衡,及基于TCP和HTTP应用的代理的软件

特别适用于负载特别大的web站点
运行在当前的硬件上可支持数以万计的并发连接连接请求

Haproxy调度算法原理

RR:最简单常用的,轮询调度
LC:最小连接数算法,根据后端的节点连接数大小动态分配前端请求
SH:来源访问调度算法,用于有session会话记录在服务器端,可以基于来源ip,cookie做群集调度

实验环境

Haporxy服务器 192.168.13.175
web1服务器 192.168.13.151
web2服务器 192.168.13.176
客户端测试机 win7

1,在web1,web2服务器上安装Nginx

[root@web1 ~]# yum install -y \  ##安装环境需要组件包> pcre-devel \  ##开发包> zlib-devel \   ##压缩包> gcc \> gcc-c++ \> make [root@web1 ~]# useradd -M -s /sbin/nologin nginx  ##创建系统用户[root@web1 ~]# mkdir /abc   ##创建挂载点[root@web1 ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/    ##挂载Password for root@//192.168.100.3/LNMP-C7:  [root@web1 ~]# cd /abc/[root@web1 abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt   ##解压[root@web1 abc]# cd /opt/nginx-1.12.2/[root@web1 nginx-1.12.2]# ./configure \   ##进行配置> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx[root@web1 nginx-1.12.2]# make && make install[root@web1 nginx-1.12.2]# echo "this is kgv web" > /usr/local/nginx/html/test.html##创建站点网页内容,web2上为this is accp web[root@web1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  ##便于系统识别[root@web1 nginx-1.12.2]# nginx -t  ##检查语法[root@web1 nginx-1.12.2]# nginx    ##开启服务[root@web1 nginx-1.12.2]# systemctl stop firewalld.service   ##关闭防火墙[root@web1 nginx-1.12.2]# setenforce 0

2,在haproxy服务器上安装haproxy调度服务

[root@haproxy ~]# yum install -y \  ##安装环境组件工具> pcre-devel \> bzip2-devel \> gcc \> gcc-c++ \> make[root@haproxy ~]# systemctl stop firewalld.service   ##关闭防火墙[root@haproxy ~]# setenforce 0[root@haproxy ~]# mkdir /abc[root@haproxy ~]# mount.cifs //192.168.100.3/LNMP-C7 /abc/  ##挂载[root@haproxy ~]# cd /abc/[root@haproxy abc]# tar zxvf haproxy-1.5.19.tar.gz -C /opt/  ##解压[root@haproxy abc]# cd /opt/haproxy-1.5.19/[root@haproxy haproxy-1.5.19]# make TARGET=linux26  ##编译[root@haproxy haproxy-1.5.19]# make install ##安装[root@haproxy haproxy-1.5.19]# mkdir /etc/haproxy   ##创建配置文件目录[root@haproxy haproxy-1.5.19]# cp examples/haproxy.cfg /etc/haproxy/  ##模板复制到配置目录下[root@haproxy haproxy-1.5.19]# cd /etc/haproxy/[root@haproxy haproxy]# vim haproxy.cfg   ##编辑配置文件----------删除所有listen项目,并添加------------------------------------注释以下语句chroot /usr/share/haproxyredispatch添加listen  webcluster 0.0.0.0:80                option httpchk GET /test.html  ##web网页                balance roundrobin  ##轮询                server inst1 192.168.13.151:80 check inter 2000 fall 3  ##健康检查请求三次                server inst2 192.168.13.176:80 check inter 2000 fall 3[root@haproxy haproxy]# cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy ##启动文件[root@haproxy haproxy]# chmod +x /etc/init.d/haproxy   ##执行权限[root@haproxy haproxy]# chkconfig --add /etc/init.d/haproxy   ##添加到service[root@haproxy haproxy]# ln -s /usr/local/sbin/haproxy /usr/sbin/  ##便于系统识别[root@haproxy haproxy]# service haproxy start   ##开启服务Starting haproxy (via systemctl):                          [  确定  ][root@haproxy haproxy]# netstat -ntap | grep haproxy  ##查看端口tcp      0     0 0.0.0.0:80       0.0.0.0:*       LISTEN      39884/haproxy 

3,使用使用测试机测试网页

4,日志定义,修改haproxy配置文件

[root@haproxy haproxy]# vim /etc/haproxy/haproxy.cfg  ##修改配置文件global                log /dev/log    local0 info   ##添加两个级别的日志文件                log /dev/log    local0 notice                #log loghost    local0 info[root@haproxy haproxy]# service haproxy restart  ##重启服务[root@haproxy haproxy]# touch /etc/rsyslog.d/haproxy.conf  ##创建系统日志haproxy配置文件[root@haproxy haproxy]# vim /etc/rsyslog.d/haproxy.confif ($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&~[root@haproxy haproxy]# systemctl restart rsyslog.service  ##重启系统日志服务[root@haproxy haproxy]# cd /var/log/  ##此时是没有haproxy日志##重新访问网页[root@haproxy haproxy]# cd /var/log/haproxy/[root@haproxy haproxy]# ls   ##此时就生成了info级别的日志文件haproxy-info.log
服务 文件 配置 日志 调度 服务器 系统 网页 环境 硬件 级别 软件 应用 测试 集群 常见 来源 目录 站点 算法 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 金融科技还是互联网 互联网科技未来 深圳互联网科技公司 互联网的科技创新 广州凡科互联网科技 互联网科技有哪些公司 世界互联网科技公司市值排名 宜昌元轩互联网科技有限公司 健康食品互联网创新科技园项目 企晟互联网信息科技有限公司 晋城互联网科技 为客找房互联网科技公司怎么样 工业互联网科技成果转化 广州燕处互联网科技有限公司 福州德业互联网科技 易租星互联网科技有限公司 陕西彩京云互联网科技有限公司 东风日产互联网科技公司叫什么 互联网企业和网络科技有限公司 山东亿川互联网科技有限责任公司 互联网科技英文 中国互联网科技发展 兼蜜互联网科技 人人互联网科技是培训 深圳互联网科技怎么样 湖南诚度互联网科技有限公司 保险科技服务互联网营销体系 互联网高科技行业有哪些企业 中国新注册互联网科技 互联网大会出现的黑科技
0