1,HaProxy简介
HAProxy 是一款可靠的,提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上。

2,安装配置HaProxy
以下实验环境均为CentOS7.3 x86_64平台

因为我已经安装过了,下面我主要讲解下配置文件的内容,HaProxy的配置文件如下,
vim /etc/haproxy/haproxy.cfg

HaProxy的配置文件主要分为二个大的部分五个段
配置文件格式:
HAProxy的配置处理3类来主要参数来源:
——最优先处理的命令行参数;
——global配置段,用于设定全局配置参数;
——proxy相关配置段,如defaults、listen、frontend和backend;
全局配置
global

# 设置日志文件输出定向
log 127.0.0.1 local3 info# 改变当前工作目录
chroot /usr/local/haproxy# 用户与用户组
user haproxy
group haproxy# 守护进程启动,运维方式为后台工作
daemon# 最大连接数
maxconn 4000

#作用于其后紧跟的listen块,直至下一个defaults 块,下一个default 将替换上一个块作用于以后的listen
defaults

# 启用每个实例日志记录事件和流量。
log global# 默认的模式mode { tcp|http|health },tcp是4层,http是7层,health只会返回OK
mode http# maxconn 65535         maxconn 每个进程可用的最大连接数
# retries 3         当对server的connection失败后,重试的次数  
# option abortonclose     启用或禁用在队列中挂起的中止请求的早期丢弃
# option redispatch     启用或禁用在连接故障情况下的会话重新分配
# option dontlognull     启用和禁用 记录 空连接
# option httpclose         每次请求完毕后主动关闭http通道,HA-Proxy不支持keep-alive模式
# option forwardfor     获得客户端IP
# option httplog        记录HTTP 请求,session 状态和计时器
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000

代理相关配置
#前端配置,http_front名称可自定义
frontend http_front

# bind *:443 ssl crt /etc/haproxy/cert.pem        启用ssl证书
# bind *:80                        发起http请求道80端口,会被转发到设置的ip及端口
bind *:80#haproxy的状态管理页面,通过/haproxy?stats来访问
stats uri /haproxy?stats
default_backend http_back

#后端配置,http_back名称可自定义
backend http_back

# 负载均衡方式
# source 根据请求源IP
# static-rr 根据权重
# leastconn 最少连接者先处理
# uri 根据请求的uri
# url_param 根据请求的url参数
# rdp-cookie 据据cookie(name)来锁定并哈希每一次请求
# hdr(name) 根据HTTP请求头来锁定每一次HTTP请求
# roundrobin 轮询方式
balance roundrobin#设置健康检查页面
option httpchk GET /index.html#传递客户端真实IP
option forwardfor header X-Forwarded-For# inter 2000 健康检查时间间隔2秒
# rise 3 检测多少次才认为是正常的
# fall 3 失败多少次才认为是不可用的
# weight 30 权重
# 需要转发的ip及端口
server node1 192.168.179.131:8081 check inter 2000 rise 3 fall 3 weight 30
server node2 192.168.179.131:8082 check inter 2000 rise 3 fall 3 weight 30
##############################################################
# haproxy的acl规则
frontend http_front
bind *:80
stats uri /haproxy?stats#创建一个acl,is_http_back2是acl的名称,可自定义,用于判断主机名是否为www.back2.com
acl is_http_back2 hdr_end(host) www.back2.com#通过正则判断主机名中是否为bbs.back.com或forum.back.com
acl is_host_bbs hdr_reg(host) -i ^(bbs.back.com|forum.back.com)#判断ua是否为android
acl is_ua_android hdr_reg(User-Agent) -i android#判断主机名开头是否为img.或css.或js.
acl is_host_static hdr_beg(host) -i img. css. js.#判断url路径中是否有/bbs
acl is_path_bbs path_beg -i /bbs#判断url文件结尾
acl is_php path_end -i .php#通过正则判断url中结尾以
acl is_static_file url_reg -i /*.(css|jpg|png|jpeg|gif)$#效果同上
acl is_static_file2 path_end -i .css .jpg .png .jpeg .gif#如果主机名是www.back2.com那么就使用后端http_back2
use_backend http_back2ifis_http_back2#默认使用的后端
default_backend http_back

backend http_back
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node1 192.168.1.222:8080 check inter 2000 rise 3 fall 3 weight 30

backend http_back2
balance roundrobin
option httpchk GET /index.html
option forwardfor header X-Forwarded-For
server node2 192.168.1.222:8082 check inter 2000 rise 3 fall 3 weight 30

#最后可以通过访问配置HaProxy的管理页面看到你配置的前端和后端的详细情况

转载于:https://blog.51cto.com/13718210/2153440

HaProxy介绍,安装及配置相关推荐

  1. 烂泥:高负载均衡学习haproxy之安装与配置

    本文首发于烂泥行天下 有关高负载均衡的软件,目前使用比较多的是haproxy.nginx和lvs.下面我们就开始学习haprxoy这款软件. 一.haproxy介绍 以下开始介绍有关haproxy的原 ...

  2. 高可用HAProxy——yum安装部署配置使用

    HAProxy介绍   HAProxy是高性能TCP(第四层)/HTTP(第七层)反向代理负载均衡服务器.(The Reliable, High Performance TCP/HTTP Load B ...

  3. Haproxy的安装与配置

    一.Haproxy概念 Haproxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.Haproxy特别适用于那些负载特大的web站点,这 ...

  4. Smarty介绍安装及配置

    今天学的传说中smarty模版,为什么使用smarty,smarty的好处是什么: 将一些判断放在了HTML模板文件中,本身用模板的目的就是分开PHP代码和HTML, 这样不仅PHP中有判断,HTML ...

  5. HAProxy安装和配置大全

    一.使用说明: HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点 ...

  6. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

  7. 《Cacti实战》——2.2 安装与配置相关组件和服务

    本节书摘来自华章计算机<Cacti实战>一书中的第2章,第2.2节,作者:刘钊,张跃著, 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 安装与配置相关 ...

  8. windows ce 安装java,Windows环境下JDK安装和配置

    相信所有学习Java的朋友应该都在Windows操作系统中安装和配置过JDK,这里我们将详细介绍安装和配置过程! 在Linux环境下安装JDK可参考:Linux环境下JDK安装和配置 下面我们开始讲解 ...

  9. HAProxy安装与配置(一)

    HAProxy安装与配置(一) 一.HAProxy概念 HAProxy功能丰富,提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,易于扩展,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. ...

  10. 开源监控Prometheus介绍,安装,配置,使用详解

    介绍 什么是Prometheus? Prometheus是一个开源监控系统,前身是SoundCloud的告警插件.从2012年开始,Prometheus逐渐被大量公司使用.该项目的社区也便跃起来,收到 ...

最新文章

  1. Prim算法和Kruskal算法求最小生成树
  2. MyBatis-02 MyBatis XML方式概述及配置步骤
  3. 易语言 设置屏幕刷新率 源码_一块好的手机屏幕应具备什么条件?现在了解还不晚...
  4. linux下Mariadb的二进制安装
  5. Linux块层技术全面剖析-v0.1
  6. 【Luogu1160】队列安排(双向链表)
  7. wampserver下修改mysql root用户的登录密码
  8. Facebook 游戏开发更新文档 API 参考文档 v5.0
  9. Android tftp服务器,Ubuntu下配置TFTP服务以及 android下使用TFTP
  10. Fiddler 教程
  11. win7电脑蓝屏没有修复计算机,win7蓝屏系统修复_win7电脑蓝屏如何修复系统
  12. 电脑小写字母怎么切换_WPS“文档”——大小写字母快速转换
  13. python绘制折线图显示单位_如何使用python语言pygal模块创建折线图并显示
  14. 第5章 初识SqlSugarCore之内置逻辑分页
  15. CF446C DZY Loves Fibonacci Numbers 万能的线段树
  16. STM32F103C8T6 操作矩阵键盘
  17. 阿里云服务器被挖矿程序侵入问题
  18. 经常失眠怎么办?这些方法和好物可以帮到你
  19. 怎么用网线连接开发板
  20. Cocos Creator 编辑器扩展:Quick Finder

热门文章

  1. MFC CString转换为字符数组
  2. springboot+jps+druid项目搭建
  3. Redis系列四:redis支持的数据类型
  4. weblogic缓存导致的网页验证码无法获取到
  5. Power BI 可视化交互/视觉对象交互
  6. Spring与其他Web框架集成
  7. textarea限制输入长度
  8. iOS开发里的Bundle是个啥玩意?!
  9. 深入php内核一(概述)
  10. 如何解决弹出窗口固定大小及内容的问题