HAProxy负载均衡和HAProxy动静分离

HAProxy是什么

HAProxy是一个免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。
HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,版本更新快速, HAProxy性能很高

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的状态

HAProxy的配置文件共有5个域

global:用于配置全局参数
default:用于配置所有frontend和backend的默认属性
frontend:用于配置前端服务(即HAProxy自身提供的服务)实例
backend:用于配置后端服务(即HAProxy后面接的服务)实例组
listen:frontend+backend的组合配置,可以理解成更简洁的配置方法

HAProxy负载均衡

0.配置一个负载均衡集群

安装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服务器

web1

yum -y install httpd
vim /var/www/html/index.html
另一台也做相同的动作创建页面

web2

yum -y install httpd
vim /var/www/html/index.html

启动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
在这里插入图片描述

发布了16 篇原创文章 · 获赞 0 · 访问量 419

猜你喜欢

转载自blog.csdn.net/weixin_46369755/article/details/104674539
今日推荐