Haproxy

Haproxy提供高可用性、负载均衡以及基于 TCP 和 HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy 特别适用于那些负载特大的 web 站点, 这些站点通常又需要会话保持或七层处理。HAProxy 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整 合进您当前 的架构中, 同时可以保护你的 web 服务器不被暴露到网络上。

实验环境:rhel6.5 selinux and iptables disabled

实验主机: 172.25.22.10     haproxy          

                     172.25.22.40   web1

                     172.25.22.50   web2

软件包: haproxy-1.4.24.tar.gz

yum install -y rpm-build

rpmbuild -tb haproxy-1.4.24.tar.gz  

RHEL6.5 haproxy简单配置_haproxy

出现报错,yum install -y pcre-devel

再次执行rpmbuild -tb haproxy-1.4.24.tar.gz

没有错误后 cd ~/rpmbuild/RPMS/x86_64/

rpm -ivh haproxy-1.4.24-1.x86_64.rpm

Haproxy安装完成。

配置: vi /etc/haproxy/haproxy.cfgglobal

log 127.0.0.1 local0 #指定日志设备

#log 127.0.0.1 local1 notice

log loghost local0 info #指定日志类型,还有 err warning debug

maxconn 65535 #并发最大连接数量

chroot /usr/share/haproxy #jail 目录

uid 99 #用户

gid 99 #组

daemon #后台运行

#debug

#quiet

defaults

log

global

mode http #默认使用 http 的 7 层模式 tcp: 4 层

option httplog #http 日志格式

option dontlognull #禁用空链接日志

retries 3 #重试 3 次失败认为服务器不可用

option redispatch #当 client 连接到挂掉的机器时,重新分配到健康的主机

maxconn 65535 contimeout 5000  #连接超时

clitimeout 50000 #客户端超时

srvtimeout 50000 #服务器端超时

stats uri

#haproxy 监控页面

/status

listen www.example.com *:80

balance roundrobin

#监听的实例名称,地址和端口

#负载均衡算法

server web1 172.25.22.40:80 cookie app1inst1 check inter 2000 rise 2 fall 5

server web2 172.25.22.50:80 cookie app1inst2 check inter 2000 rise 2 fall 5

#cookie app1inst1:表示 serverid 为 app1inst1

#check inter 2000:检测心跳频率 #rise 2:表示 2 次正确认为服务器可用

#fall 5:表示 5 次失败认为服务器不可用

RHEL6.5 haproxy简单配置_haproxy_02

 启动haproxy时出现错误

mkdir /usr/share/haproxy

在配置文件加入option(红色标注)

重新启动haproxy:/etc/init.d/haproxy start

访问http://172.25.22.10测试负载

访问http://172.25.22.10/status访问haproxy监控页面 

RHEL6.5 haproxy简单配置_haproxy_03