赞
踩
他是一个用c语言编写的开放源代码软件,提供高可用性,负载均衡及基于TCP和HTTP的应用程序代理
特别对那些负载大的web站点非常适用,这些战地通常需要会话保持或七层处理,它可以支持数以万计的并发连接,并且他的运行模式使得它可以简单安全的整合进当前的架构中,同时保护你的web服务器不被暴露到网络上
2.1 Haproxy常见的8种负载均衡策略:
roundrobin∶表示简单的轮询。
static-rr∶表示根据权重。
leastconn∶ 表示最少连接者先处理。
source∶ 表示根据请求的源IP,类似Nginx的IP hash机制。
ri∶表示根据请求的URI。
rl_param∶表示根据HTTP请求头来锁定每 一 次HTrTP请求。
rdp-cookie (name)∶表示根据据cookie (name)来锁定并哈希每一次TCP请求。
2.2 LVS、Nginx、Haproxy的区别
LVS基于Linux操作系统实现软负载均衡,而Haproxy和Nginx是基于第三方应用实现的软负载均衡
LVS可以在4层实现IP负载均衡,但是无法实现基于目录,URL的转发。而Haproxy和Nginx都可以实现4层和7层技术,Haproxy可提供TCP和HTTP应用的负载均衡综合解决方案
LVS因为在ISO模型的第四层,所以状态检测功能单一,而Haproxy在状态检测方面更加强大
Haproxy功能强,但是性能低于LVS
Nginx主要用于Web服务器或缓存服务器
首先准备三台Linux服务器和一台客户机
Haproxy服务器:192.168.100.254
Nginx服务器:192.168.100.10
Nginx服务器:192.168.100.11
客户端:192.168.100.100
首先来安装Haproxy服务器
systemctl stop firewalld
setenforce 0
把包传入opt目录
yum install -y pcre-devel bzip2-devel gcc gcc-c++ make
安装环境包
tar zxvf haproxy-1.5.19.tar.gz
cd haproxy-1.5.19/
make TARGET=linux2628 ARCH=x86_64
make install
进入解压目录,指定内核版本和系统位数
安装
在在etc目录下创建个haproxy目录,把刚刚文件里的haproxy.cfg复制进去
查看并修改:
删除掉listen行下所有,添加:
listen webcluster 0.0.0.0:80 #定义一个名为webcluster的应用
option httpchk GET /test.html #检查服务器的test.html文件
balance roundrobin #负载均衡调度算法使用轮询算法roundrobin
server inst1 192.168.100.10:80 check inter 2000 fall 3 #定义在线节点
server inst2 192.168.100.11:80 check inter 2000 fall 3
balance roundrobin #负载均衡调度算法
#轮询算法:roundrobin;最小连接数算法:leastconn;来源访问调度算法:source,类似于nginx的ip_hash
check inter 2000 #表示haproxy服务器和节点之间的一个心跳频率
fall3 #表示连续三次检测不到心跳频率则认为该节点失效
若节点配置后带有“backup”表示该节点只是个备份节点,只有主节点失效该节点才会上。不携带“backup”,表示为主节点,和其它主节点共同提供服务。
cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
cd /etc/init.d
chmod +x haproxy
chkconfig --add /etc/init.d/haproxy
ln -s /usr/local/sbin/haproxy /usr/sbin/haproxy
service haproxy start 或 /etc/init.d/haproxy start
上面是添加haproxy系统服务
service haproxy start 或 /etc/init.d/haproxy start
然后安装两台Nginx节点服务器
下面步骤是一样的:
systemctl stop firewalld
setenforce 0
yum install -y pcre-devel zlib-devel gcc gcc-c++ make
useradd -M -s /sbin/nologin nginx
cd /opt
tar zxvf nginx-1.12.0.tar.gz -C /opt/
cd nginx-1.12.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx && make && make install
make && make install
在两台节点服务器上布置网页内容
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
nginx启动服务
测试
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。