简介
Haproxy介绍
HaProxy是一个特别适用于高可用性环境的TCP/HTTP开源的反向代理和负载均衡软件。在七层负载均衡方面的功能很强大(支持coρkie track, header rewrite等等) ,支持双机热备,支持虚拟主机,支持健康检查,同时还提供直观的监控页面,可以清晰的监控服务集群的运行状况
配置
Haproxy配置中分五大部分:
global:全局参数配置,进程级的,用来控制Haproxy启动前的一些进程及系统设置。
defaults:配置一些默认的参数, 可以被frontend ,backend, listen段集成使用
frontend :用来匹配接收客户所请求的域名,url等,并针对不同的匹配,做不同的请求处理;
backend:定义后端服务器集群,以及对后端服务器集群的一些权重、队列、连接数等选项的设置,类似于nginx中的upstream模块;
listen:可以理解为frontend和backend的组合体。Haproxy配文件的配i方法主要有两种,一种是由前端(frontend )和后端( backend)配块组成,前端和后端都可以有多个。第二种方法是只有一个listen配块来同时实现前端和后端。最常用也是推荐的方法为第一种,即frontend和backend的模式
实验环境
server1 172.25.254.10 | haproxy,httpd,代理服务器 |
---|---|
server2 172.25.254.20 | httpd,php,后端服务器 |
server3 172.25.254.30 | httpd,php,后端服务器 |
物理机 172.25.254.2 | 测试端 |
利用haproxy实现负载均衡
(1)在server1上面搭建HAProxy服务器并配置
(2)在server2和server3上配置(操作一样)
以下是server3:
(3)测试
此时关闭server2的httpd:
给haproxy服务器添加日志
(1)查看日志格式
(2)编辑日志服务的配置文件,打开UDP接口,创建haproxy的日志文件,重启服务
(3)查看日志
单独生成haproxy的日志以便以后的检查!!!
haproxy实现客户端动态静态访问分离
(1)server1编辑配置文件并重启服务
(2)给server1安装httpd服务
(3)配置server1的httpd并改修server1的httpd端口
(4)server3上的指定目录下上传一张图片
(5)测试:
以上实现了轮询!!以下展示不轮询!!
错误页面重定向
测试:客户端输入172.25.254.10自动调转到172.25.254.10:8080
永久重定向
读写分离
(1)配置server1
(2)server2和server3上面配置环境(操作一样)
(3)测试