一.Haproxy简介
1.定义
- (1)Haproxy是一个使用C语言编写的自由以及开放的源代软件,其提供高性能,负载均衡,以及基于TCP和HTTP应用程序代理。相较于Nginx,HAProxy更专注于反向代理,因此它可以支持更多的选项,更精细的控制,更多的健康检测机制的负载均衡算法。
- (2)HAProxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或者七层处理,HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。
- (2)HAProxy的运行模式使得它可以很简单安全的整合进当前的架构中,同时可以保护后台的web服务器不被暴露到网络上。
二.模拟HAProxy:apache的反向代理+负载均衡的实现
1.实验环境的搭建
-
创建rhel6.5版本的虚拟机base作为母盘,建立快照vm1,vm2,vm3(详情请参考博文:varnish:cdn的加速实现)
-
rhel6.5 selinux and iptables disabled
主机名(IP) | 服务 |
---|---|
server1(172.25.254.1) | haproxy |
server2(172.25.254.2) | apache |
server3(172.25.254.3) | apache |
物理机(172.25.254.77) | 测试 |
2.配置过程
- Makefile:原码编译时把一些所有的项目写好后,configue会生成该文件,有Makefile就有make && make install
- rpm:安装包安装在安装好以后会把配置文件的路径打乱
- 原码编译:可以直接指定下载婉称后位呢加的放置路径
- gdb:C语言的调制工具
-
(1)官网下载安装包(本次实验已有安装包直接将安装包scp的server1上即可)
-
(2)安装包的解压
注意:find -name *.spec查看时如果图上所显示的文件存在表示可以用原码软件包安装,本次实验是将其重新做成rpm包再进行安装配置文件会生成再/etc/haproxy目录但是目录里面没有配置源文件,需要自己添加 -
(3)安装源码编译软件,源码编译HAproxy软件
a.安装该软件安装过程中的需要的安装包,解决其安装过程中的依赖性,否则会显示编译失败(安装打包工具及其编译工具)
b.生成rpm包
c.会生成rpmbuild目录(安装包所在的目录)该目录下的子目录中有生成的安装包
- (3)建立haproxy用户和组,利用linux对haproxy用户的访问控制实现对haproxy的服务的控制
- (4)找到haproxy的配置文件,并复制到/etc/haproxy的目录下