1.什么是haproxy?
HAProxy是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理,HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理,HAProxy运行在当前的硬件上完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中, 同时可以保护你的web服务器不被暴露到网络上
2.haproxy的功能
HAProxy是TCP / HTTP反向代理服务器,尤其适合于高可用性环境
可以针对HTTP请求添加cookie,进行路由后端服务器
可平衡负载至后端服务器,并支持持久连接
支持基于cookie进行调度
支持所有主服务器故障切换至备用服务器
支持专用端口实现监控服务
支持不影响现有连接情况下停止接受新连接请求
可以在双向添加,修改或删除HTTP报文首部
支持基于pattern实现连接请求的访问控制
通过特定的URI为授权用户提供详细的状态信息
3.haproxy功能实现的实验
实验环境:
三台虚拟机和一台物理机
虚拟机server1(172.25.254.1)配置haproxy,httpd,做代理服务器
虚拟机server2(172.25.254.2)配置httpd,php,后端服务器
虚拟机server3(172.25.254.3)配置httpd,php,后端服务器
物理机(172.25.254.250)做测试
搭建haproxy服务器
在server1上搭建haproxy服务器
安装haproxy
在系统里有自带的haproxy的安装包,可以安装来使用
查看安装后生成的文件
/etc/haproxy/haproxy.cfg ##主配置文件
/etc/logrotate.d/haproxy ##配置文件
/etc/sysconfig/haproxy ##配置文件
/usr/lib/systemd/system/haproxy.service ##启动脚本
/usr/sbin/haproxy ##命令
安装haproxy时会建立一个haproxy的用户
haproxy实现负载均衡
(1)在server1上配置
配置haproxy,让haproxy负载均衡服务器去轮询两个后端服务器
编辑主配置文件:vim /etc/haproxy/haproxy.cfg
文件里有4个语句块
global ,全局设定
defaults,默认设定
frontend,前端
backend ,后端
defaults 设定改为下图:
forntend 配置,因为这是对外开放,让用户可以访问,所以端口设为80
backend 后端配置:定义一个负载均衡服务器组,使用轮询的模式循环,配置两台服务器测试
思想: