一. HAproxy的介绍
HAproxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。 HAProxy实现了一种事件驱动,
单一进程模型,此模型支持非常大的并发连接数。多进程或多线程模型受内存限制、系统调度器限制以及无处不在的锁限制,很少能处理数千并发连接。事件驱动模型因为在有更好的资源和时间管理的用户空间(User-Space)实现所有这些任务,所以没有这些问题。此模型的弊端是,在多核系统上,这些程序通常扩展性较差。这就是为什么他们必须进行优化以 使每个CPU时间片(Cycle)做更多的工作
二. 实现apache的反向代理和负载均衡
1.下载并解压 haproxy-1.7.3.tar.gz
tar zxf haproxy-1.7.3.tar.gz
2.进入到haproxy-1.7.3文件后,查看以下有没有spec文件,有这个文件才可以打成rpm包
find . -name *.spec
3.解决依赖性和安装
yum install -y rpm-build
yum install -y gcc ##c语言调试工具gcc
yum install -y pcre-devel
4.打包成rpm包
rpmbuild -tb haproxy-1.7.3.tar.gz
5.安装haproxy软件
rpm -ivh haproxy-1.7.3-1.x86_64.rpm
6.配置文件的修改
cp /haproxy-1.7.3/examples/content-sw-sample.cfg /etc/haproxy/haproxy.cfg
vim /etc/haproxy/haproxy.cfg
global
maxconn 10000 ## 最大连接数
stats socket /var/run/haproxy.stat mode 600 level admin
log 127.0.0.1 local0
uid 200 ## haproxy用户的uid
gid 200
chroot /var/empty
daemon
defaults
mode http
log gl