一、HAProxy简介及定位

        HAProxy 是一款基于TCP和HTTP应用的具备高可用行且负载均衡的代理软件。HAProxy是完全免费的,借助HAProxy可以快速、可靠地提供基于TCP和HTTP应用的代理解决方案。HAProxy最主要的特点是性能优越,特别使用与负载超重的Web站点,这些站点通常需要会话保持或七层处理。HAProxy完全可以支持数以万计的并发连接。并且HAProxy的运行模式使其可以简单、安全的将信息整合进当前的架构中,同时保护后面的Web服务器不被暴露。

         HAProxy具有反向代理服务器等功能,配置简单,拥有非常不错的服务器健康检查功能。档期代理的后段服务器出现故障时,HAProxy会自动将该服务器摘除,故障恢复后在自动将其加入。

二、HAProxy与Nginx比较

      同样具有7层负载功能的Nginx和HaProxy有很多相似的方面,比如都有匹配规则等。如果单纯从效率上来讲,HAProxy比Nginx有更出色的负载均衡速度,并且在并发处理上也有于Nginx。

      HAProxy不仅能够弥补Nginx的一些确定,比如Session的保持等工作,并且支持URL检测对于检测,后段服务器出现的问题有很好的帮助。

       Nginx对Big Request Header 的支持不是很好,如果 client_header_buffer_size 设置的数值比较小,就会返回400 Bad Request 的错误页面。

三、HAProxy的安装

使用yum安装

yum install haproxy.x86_64 –y

安装完成之后就可以启动HAProxy服务

/etc/init.d/haproxy start

启动服务之后我们来修改一下配置文件

global
#
#local2 /var/log/haproxy.log #日志位置
#
log 127.0.0.1 local2 chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
maxconn 4000 #最大连接数
user haproxy #用户名
group haproxy #组
daemon # turn on stats unix socket
stats socket /var/lib/haproxy/stats #---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http #模式
log global #日志
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3 #重试次数
timeout http-request 10s #请求超时时间
timeout queue 1m
timeout connect 10s #连接超时时间
timeout client 1m #客户端超时
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 3000 #最大连接数量
stats uri /haproxy_status #监控页面地址 #---------------------------------------------------------------------
# main frontend which proxys to the backends
#---------------------------------------------------------------------
frontend main *:80 #监听端口
# acl url_static path_beg -i /static /images /javascript /stylesheets
# acl url_static path_end -i .jpg .gif .png .css .js # use_backend static if url_static
# default_backend app
acl is_zabbix path_beg /zabbix #如果请求是以/zabbix结尾则使用zabbix_app这个应用,实现反向代理
use_backend zabbix_app if is_zabbix
default_backend tomcat_app #---------------------------------------------------------------------
# static backend for serving up images, stylesheets and such
#---------------------------------------------------------------------
#backend static
# balance roundrobin
# server static 127.0.0.1:4331 check backend zabbix_app #配置后台应用 zabbix_app
balance roundrobin
server app1 127.0.0.1:8083 check backend tomcat_app #配置后台应用 tomcat_app
balance roundrobin #负载均衡方式,使用随机
server app1 127.0.0.1:8081 check #服务器1
server app2 127.0.0.1:8082 check #服务器2 #---------------------------------------------------------------------
# round robin balancing between the various backends
#---------------------------------------------------------------------
backend app
balance roundrobin
server app1 127.0.0.1:8081 check
server app2 127.0.0.1:8082 check
server app3 127.0.0.1:8083 check

重新加载HAProxy的配置文件

/etc/init.d/harpoxy reload

然后查看是否安装成功

在地址栏输入http://192.168.0.65/haproxy_status

页面如下

能够看到,我的zabbix_app是正常的,我的tomcat_app没有启动,所以是红色的

在这个页面能够清楚的看出HAProxy的访问量,总流量

如有不足,还请指正,谢谢~!

HAProxy简单使用的更多相关文章

  1. haproxy简单负载均衡搭建

    最近对负载均衡进行搭建具体方法如下: haproxy 修改部分(haproxy-cfg.cfg) global daemon maxconn 4500 defaults mode http timeo ...

  2. haproxy简单配制for mysql

    1:下载haproxy 官网:http://www.haproxy.org/ 下载地址:http://www.haproxy.org/download/1.7/src/haproxy-1.7.8.ta ...

  3. Ubuntu 16.04 haproxy 简单配置应用

    HAproxy HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性.负载均衡,以及基于TCP和HTTP的应用程序代理.   测试环境 ubuntu16.04 192.168.20 ...

  4. Mysql的Haproxy反向代理和负载均衡

    HaProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.应用到Haproxy主要是因为他免费,并且基于TCP和HTTP的应用代理. ...

  5. haproxy(1)

    参考文档: http://cbonte.github.io/haproxy-dconv/1.5/configuration.html 一.Haproxy 软件负载均衡一般通过两种方式来实现:基于操作系 ...

  6. haproxy配置文件详解和ACL功能

    */ .hljs { display: block; overflow-x: auto; padding: 0.5em; color: #333; background: #f8f8f8; } .hl ...

  7. HAPRoxy(一):HAProxy基本配置、调度算法与tcp、http、heath模式配置示例

    一.HAProxy安装 1.HAProxy简单介绍 HAProxy虽然名字前有HA,但它并不是一款高可用软件,而是一款用于实现负载均衡的软件,可实现四层与七层的负载均衡. 2.yum安装HAProxy ...

  8. haproxy参数

    https://blog.csdn.net/chengfei112233/article/details/78983026 https://www.cnblogs.com/dkblog/archive ...

  9. haproxy学习——简介、基本配置(二)

    官网:http://www.haproxy.org/ 个人感觉haproxy学习的重点在于配置上,把配置文档搞懂了就明白大部分套路了.不过本篇内容属于入门学习:1.使用haproxy简单的实现负载均衡 ...

随机推荐

  1. Leetcode 433.最小基因变化

    最小基因变化 一条基因序列由一个带有8个字符的字符串表示,其中每个字符都属于 "A", "C", "G", "T"中的任 ...

  2. Hadoop全分布式模式安装

    一.准备 1.准备至少三台linux服务器,并安装JDK 关闭防火墙如下 systemctl stop firewalld.service systemctl disable firewalld.se ...

  3. c++中set容器的功能及应用。

    set的特性是,所有元素都会根据元素的键值自动排序(默认为升序),set中不允许两个元素有相同的键值. set基本操作: 1.头文件 #include<set>. 注:一定要加上using ...

  4. POJ——1308Is It A Tree?(模拟拓扑排序判断有向图是否为树)

    Is It A Tree? Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 28399   Accepted: 9684 De ...

  5. BZOJ-1221 软件开发

    这题是基于一道经典的费用流模型. 将每天拆成两个点i和j,新增源和汇并建立六种边: 1.从源出发到每个i点,flow为+∞,cost为每条新餐巾的价值,表示这一天所使用的餐巾中来自购买的餐巾 2.从源 ...

  6. animation总结

    1. animation结束后停在最后一帧 animation-fill-mode : forwards | both; /* 或者 */ animation: anim1 1s linear for ...

  7. mysql监控指标

    1.最大连接数监控 show VARIABLES like "max_connections"; //最大连接数 show global status like 'Threads_ ...

  8. centos7配置国内yum源

    文章目录 1.什么是yum仓库? 2.yum仓库配置 2.1.阿里镜像仓库配置 2.1.1.配置步骤 2.1.2.epel源 安装和配置 2.1.3.查看yum源 2.2.配置 清华大学镜像仓库 1. ...

  9. <编程精粹:编写高质量C语言代码> 读书笔记

    0.规则<The Elements of Programming Style><The Elements of Style> 1.假想的编译程序(1)使用编译器提供的所有的可选 ...

  10. Docker 组件如何协作?

    还记得我们运行的第一个容器吗?现在通过它来体会一下 Docker 各个组件是如何协作的. 容器启动过程如下: Docker 客户端执行 docker run 命令. Docker daemon 发现本 ...