千家信息网

Haproxy服务调优及配置内容详解

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,通过博文:Nginx+Tomcat实现负载均衡群集实例,可跟做!!!LVS负载均衡群集详解已经能够使用Nginx、LVS做负载均衡群集,它们各自都具有各自的特点,今天,我们认识一款比较流行的群集调度工
千家信息网最后更新 2026年11月03日Haproxy服务调优及配置内容详解

通过博文:Nginx+Tomcat实现负载均衡群集实例,可跟做!!!
LVS负载均衡群集详解
已经能够使用Nginx、LVS做负载均衡群集,它们各自都具有各自的特点,今天,我们认识一款比较流行的群集调度工具--Haproxy。

一、Haproxy概述

Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具还有很多,比如:LVS和Nginx。相比较而言:LVS性能最好,但是搭建相对复杂;Nginx的upstream模块支持群集功能,但是对群集节点健康检查功能并不强,性能也不及Haproxy好。

二、使用Haproxy必须要了解的知识点

1.HTTP请求

通过URL访问网站使用的协议是HTTP协议,此类请求一般称为HTTP请求。

HTTP请求的方式分为GET方式和POST方式,二者的区别:

  • GET方式:内容少(一般不可以超过8kB)、不安全,内容直接附加在URL上;
  • POST方式:内容多、安全;

当使用浏览器访问某一个URL,会根据请求URL返回状态码,通常正常是的状态码是:2 X X、3 XX(比如201、301),如果出现异常就会返回4 X X、5 XX(比如401、501)。

HTTP请求返回状态码详情,可以参考博文:HTTP请求返回状态码详解

2.负载均衡常用调度算法

利用LVS、Haproxy、Nginx搭建群集最常用的调度算法有三种:

(1)RR(轮询算法)

RR(Round Robin):RR算法是最简单,也最容易理解,即轮询调度。此算法还有一种加权轮询,即根据每个节点的权重轮询分配访问请求。

此算法主要用于节点服务器性能都差不多,要工作都工作;

(2)LC(最小连接数算法)

LC(Least Connections):即最小连接数算法,根据后端的节点连接数大小动态分配前端请求。能保证将新的请求分配给连接数最少的客户端。由于实际情况中,各个节点的连接数对动态释放,很难出现一样连接数的情况,因此此算法想比较RR算法有很大的改进,是目前用到最多的一种算法。

(3)SH(基于来源访问调度算法)

SH(Source Hashing):即基于来源访问调度算法,此算法用于一些有Session会话记录在服务器端的场景,可以基于来源的IP、Cookie等做群集调度。此算法的好处就是实现会话保持,但某些IP访问量非常大时会引起负载不均衡,部分节点访问量大,影响业务使用。

3.常见的Web群集调度器

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

4.Haproxy的应用环境

如图:

三、安装Haproxy

Haproxy的安装包网盘链接:https://pan.baidu.com/s/10masYgp7VSWuZu8ebZ-pfQ
提取码:2l44

1.编译安装Haproxy

[root@localhost ~]# yum -y install pcre-devel bzip2-devel//安装依赖包,让Haproxy服务支持正则表达式、解压[root@localhost ~]# tar zxf haproxy-1.5.19.tar.gz -C /usr/src[root@localhost ~]# cd /usr/src/haproxy-1.5.19/[root@localhost haproxy-1.5.19]# make TARGET=linux26            //表示是64系统//正常解压即可,但是这个软件不需要配置。[root@localhost haproxy-1.5.19]# make install

2.Haproxy服务配置

(1)建立Haproxy配置文件
[root@localhost haproxy-1.5.19]# mkdir /etc/haproxy[root@localhost haproxy-1.5.19]# cp /usr/src/haproxy-1.5.19/examples/haproxy.cfg /etc/haproxy///将haproxy.cfg文件复制到配置文件目录
(2)Haproxy配置项详解

Haproxy 配置文件通常分为三个部分:

  • global(全局配置);
  • defaults(默认配置);
  • listen(应用组件配置)

global(全局配置)通常有以下配置参数:

global        log 127.0.0.1   local   #配置日志记录,local0为日志设备,默认存放到系统日志        log 127.0.0.1   local1 notice  #notice为日志级别,通常有24个级别        #log loghost    local0 info        maxconn 4096             #最大连接数        chroot /usr/share/haproxy         #该服务自设置的根目录,一般需将此行注释掉        uid 99         #用户UID        gid 99        #用户GID        daemon        #守护进程模式

defaults(默认配置)一般会被应用组件继承,如果在应用组件中没有特别声明,将安装默认配置参数设置,常见的参数有:

defaults        log     global               #定义日志为global配置中的日志定义        mode    http                 #模式为http        option  httplog              #采用http日志格式记录日志        option  dontlognull        retries 3         #检查节点服务器失败次数,连续达到三次失败,则认为节点不可用        redispatch             #当服务器负载很高时,自动结束当前队列处理比较久的连接        maxconn 2000                      #最大连接数        contimeout      5000              #连接超时时间        clitimeout      50000             #客户端超时时间        srvtimeout      50000             #服务器超时时间

listen(配置项)一般配置应用模块参数:

listen  appli4-backup 0.0.0.0:10004           #定义一个名为appli4-backup的应用                option  httpchk /index.html        #检查服务器的index.html文件                option  persist     #强制将请求发送到已经down掉的服务器,一般禁用此选项。                balance roundrobin        #负载均衡调度算法使用轮询算法            server  inst1 192.168.114.56:80 check inter 2000 fall 3     #定义在线节点         server  inst2 192.168.114.56:81 check inter 2000 fall 3 backup #定义备份节点#注意:在以上定义备份节点的参数中,#"check inter 2000"表示haproxy服务器和节点之间的一个心跳频率,#"fall 3"表示连续三次检测不到心跳频率则认为该节点失效。#节点配置后带有" backup"表示该节点只是个备份节点,只有主节点失效该节点才会上。#去除backup,表示为主节点,和其他主节点共同提供服务。
(3)Haproxy的参数调优

如图:

以下修改的配置文件可以满足正常需求,如果详细阅读以上配置项的意思,可以自行添加需求。

global        log 127.0.0.1   local0        log 127.0.0.1   local1 notice        #log loghost    local0 info        maxconn 4096        #chroot /usr/share/haproxy        uid 99        gid 99        daemon        #debug        #quietdefaults        log     global        mode    http        option  httplog        option  dontlognull        retries 3        #redispatch        maxconn 2000        contimeout      5000        clitimeout      50000        srvtimeout      50000listen  appli1-rewrite 0.0.0.0:80        option httpchk GET /index.html        balance roundrobin        server  app1_1 192.168.1.3:80 check inter 2000 rise 2 fall 5        server  app1_2 192.168.1.4:80 check inter 2000 rise 2 fall 5

这里就不解释具体都是什么意思了。

(4)创建启动脚本
[root@localhost ~]# cp /usr/src/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy[root@localhost ~]# ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy [root@localhost ~]# chmod +x /etc/init.d/haproxy [root@localhost ~]# chkconfig --add /etc/init.d/haproxy [root@localhost ~]# /etc/init.d/haproxy startStarting haproxy (via systemctl):                          [  确定  ]//都是很基础的命令,这里就不解释都是什么意思了
(5)Haproxy服务的日志

Haproxy的日志默认输出到系统的syslog中,查看起来非常不方便,为了更好的管理Haproxy的日志信息,我们在声场环境中一般单独定义出来。方法如下:

[root@localhost ~]# vim /etc/haproxy/haproxy.cfg global        log /dev/log local0 info        log /dev/log local0 notice//添加两行内容,把原本关于日志的信息注释掉[root@localhost ~]# systemctl restart haproxy//重启服务[root@localhost ~]# vim /etc/rsyslog.d/haproxy.conf//定义Haproxy服务的日志文件存放的位置,添加如下内容: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& ~[root@localhost ~]# systemctl restart rsyslog//重启日志服务

当客户端访问时,就可以利用以下命令查看Haproxy服务的日志文件

[root@localhost ~]# tail -f /var/log/haproxy/haproxy-info.log

-------- 本文至此结束,感谢阅读 --------

配置 节点 服务 日志 算法 调度 文件 服务器 均衡 参数 应用 内容 方式 状态 备份 客户 客户端 工具 常见 性能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 互联网核心科技是什么 互联网金融 科技 深圳互联网科技公司 互联网科技小贷 互联网与新科技 朗涯互联网科技 华中科技有哪些互联网大佬 创业天下互联网科技有限公司 厦门千工互联网科技有限公司 恒生互联网科技指数跳水 互联网科技扶贫时间 西安小鹰速贷互联网科技有限公司 威龙国际互联网科技公司 江苏苏星互联网科技有限公司 互联网科技股为什么大涨 广州燕处互联网科技有限公司 上海乐五互联网科技有限公司 西安左小互联网科技有限公司 互联网科技职业技能培训学校 涨乐互联网科技 安徽鑫晟辉互联网科技 丰台科技园 互联网 上游互联网科技 甘肃拓世互联网科技有限公司 互联网汽车科技小镇 浙南科技城互联网大厦建设工程 城市宝互联网科技有限公司 世界互联网科技成果奖 第三届互联网大会安防黑科技
0