haproxy

Posted fang12311

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了haproxy相关的知识,希望对你有一定的参考价值。

l  HAProxy是什么

 

HAProxy是一个高性能的开源并且免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。

HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速, HAProxy性能很高

l  HAProxy的核心功能

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法
  • 健康检查:支持TCP和HTTP两种健康检查模式
  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持
  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输
  • HTTP请求重写与重定向
  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态

l  HAProxy的配置文件共有5个域

global:用于配置全局参数

default:用于配置所有frontend和backend的默认属性

frontend:用于配置前端服务(即HAProxy自身提供的服务)实例

backend:用于配置后端服务(即HAProxy后面接的服务)实例组

listen:frontend+backend的组合配置,可以理解成更简洁的配置方法

l  配置一个负载均衡集群:

安装haproxy

yum -y install haproxy

打开配置文件:

#vim /etc/haproxy/haproxy.cfg

1.     定义后端服务器组

 

 

定义一个后端服务器组,webservers

定义这个服务器组算法为:roundrobin (轮询)

定义后端真实服务器(server):

2.     定义前端服务器

 

定义一个前端服务器 web

定义前端服务器监听地址和端口:

定义默认转发给后端的webservers服务器组

3.     启动haproxy

service haproxy start

关闭防火墙:

service iptables stop

setenforce 0

4.     配置web服务器

yum -y install httpd

vim /var/www/html/index.html

<h1>web1<h1>

另一台也做相同的动作创建页面

vim /var/www/html/index.html

<h1>web2<h1>

启动httpd

service httpd start

关闭防火墙:

service iptables stop

setenforce 0

测试访问haproxy

 

开启统计信息页面

定义一个前端服务器:

 

frontend stats

    bind *:8080    #监听的地址和端口

    stats uri /stats  #访问的uri

    stats refresh 10s #页面自动刷新间隔时间

stats auth admin:admin  #访问页面的账号和密码

 

重启haproxy

service haproxy  restart

 

 

 

配置Haproxy动静分离

编辑haproxy配置文件,定义过滤规则

 

 

acl:           定义一个过滤规则

path_end:   定义过滤规则以什么结尾

-i:               不区分大小写

use_backend:和acl结合使用,定义当过滤规则匹配生效后要转发的后端服务器组

 

定义后端服务求组

 

定义默认后端服务器组:webservers

定义静态后端服务器组:dg

 

至此配置完毕,haproxy将会把以.html结尾的静态页面转发给dg后端服务器组,其他默认转发给webservers

 

保存退出后,重启haproxy

#service haproxy restart

 

访问html测试

 

默认会去访问webservers

以上是关于haproxy的主要内容,如果未能解决你的问题,请参考以下文章

haproxy

HAProxy杂记

Haproxy-负载均衡

HAproxy配置

haproxy

HAProxy介绍