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的主要内容,如果未能解决你的问题,请参考以下文章