千家信息网

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.175web1服务器 192.168.13.151web2服务器 192.168.13.176client测试机

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,使用client测试网页


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