HAProxy是一个使用C语言编写的自由及开放源代码软件[1],其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。
HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。
一.Haproxy实现负载均衡
配置过程及测试:
1.解压haproxy压缩包,安装源码编译软件,源码编译haproxy软件
tar zxf haproxy-1.6.11.tar.gz
yum install rpm-build -y
rpmbuild -tb haproxy-1.6.11.tar.gz
2.找到haproxty的配置文件
cd haproxy-1.6.11/examples
cp content-sw-sample.cfg /etc/haproxy/haproxy.cfg
3.建立haproxy用户和组。利用linux对haporxy用户的访问控制实现对haporxy服务的控制
grep 20 /etc/passwd
groupadd -g 200 haproxy # 建立一个haproxy组
useradd -u 200 -g 200 -M haproxy
id haproxy
4.修改配置文件,添加后端真实服务器和负载均衡算法
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 # haproxy用户的gid
chroot /var/empty
daemon
defaults # 默认条件
mode http
log global
option httplog
option dontlognull
monitor-uri /monitoruri
maxconn 8000
timeout client 30s
stats uri /admin/stats
option prefer-last-server
retries 2
option redispatch
timeout connect 5s
timeout server 5s
# The public 'www' address in the DMZ
frontend public
bind *:80 name clear
#bind 192.168.1.10:443 ssl crt /etc/haproxy/haproxy.pem
#use_backend static if { hdr_beg(host) -i img }
#use_backend static if { path_beg /img /css }
default_backend