赞
踩
它是一种能提供高可用性,负载均衡以及基于TCP和HTTP应用的代理,是免费的,快速并且可靠的一种解决方案。
1、可靠性和稳定性非常好,可以与硬件级的F5负载均衡设备相媲2、美;
3、支持多达8种负载均衡算法,同时也支持会话保持;
4、支持虚机主机功能,从而实现web负载均衡更加灵活;
5、支持连接拒绝、全透明代理等独特的功能;
6、拥有强大的ACL支持,用于访问控制;
7、基于流量的健康评估机制;
8、基于http认证;
9、基于命令行的管理接口;
10、日志分析器,可对日志进行分析。
1、LVS基于Linux操作系统实现软负载均衡,而HAProxy和Nginx是基于第三方应用实现的软负载均衡;
2、LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。而HAProxy和Nginx都可以实现4层和7层技术,HAProxy可提供TCP和HTTP应用的负载均衡综合解决方案;
3、LVS因为工作在ISO模型的第四层,其状态监测功能单一,而HAProxy在状态监测方面功能更丰富、强大,可支持端口、URL、脚本等多种状态检测方式;
4、HAProxy功能强大,但整体性能低于4层模式的LVS负载均衡。
5、Nginx主要用于Web服务器或缓存服务器。
1、roundrobin:表示简单的轮询。
2、static-rr:表示根据权重。
3、leastconn:表示最少连接者先处理。
4、source:表示根据请求的源IP,类似Nginx的IP_hash机制。
5、ri:表示根据请求的URI。
6、rl_param:表示根据HTTP请求头来锁定每一次HTTP请求。
7、rdp-cookie(name):表示根据据cookie(name)来锁定并哈希每一次TCP请求。
Haproxy服务器:192.168.226.40
Nginx 服务器1:192.168.226.50
Nginx 服务器2:192.168.226.60
客户端:192.168.80.120
1.关闭防火墙,将安装Haproxy所需软件包传到/opt目录下
systemctl stop firewalld
setenforce 0
haproxy-1.5.19.tar.gz
2.编译安装 Haproxy
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
3.Haproxy服务器配置
mkdir /etc/haproxy
cp examples/haproxy.cfg /etc/haproxy/
cd /etc/haproxy/
vim haproxy.cfg
log /dev/log local0 info
log /dev/log local0 notice
#log loghost local0 info
maxconn 4096
#chroot /usr/share/haproxy
uid 99
gid 99
daemon
–删除下面所有listen项–,添加
listen webcluster 0.0.0.0:80 #定义一个名为webcluster的应用
option httpchk GET /index.html #检查服务器的test.html文件
balance roundrobin #负载均衡调度算法使用轮询算法roundrobin
server inst1 192.168.226.50:80 check inter 2000 fall 3 #定义在线节点
server inst2 192.168.226.60:80 check inter 2000 fall 3
4.添加haproxy 系统服务
cp /opt/haproxy-1.5.19/examples/haproxy.init /etc/init.d/haproxy
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
systemctl stop firewalld
setenforce 0
使用yum源安装nginx
部署yum源
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
EOF
nginx
启动服务
192.168.226.50
cd /var/share/nginx/html
echo ‘hello world’ > index.html
192.168.226.60
cd /var/share/nginx/html
echo ‘hello linux’ > index.html
在两个节点安装nginx,重新编辑站点页面
访问http://192.168.226.40/index.html ,不断刷新浏览器测试负载均衡效果
#默认haproxy的日志是输出到系统的syslog中,查看起来不是非常方便,为了更好的管理haproxy的日志,我们在生产环境中一般单独定义出来。需要将haproxy的info及notice日志分别记录到不同的日志文件中。
vim /etc/haproxy/haproxy.cfg
global
log /dev/log local0 info
log /dev/log local0 notice
service haproxy restart
#需要修改rsyslog配置,为了便于管理。将haproxy相关的配置独立定义到haproxy.conf,并放到/etc/rsyslog.d/下,rsyslog启动时会自动加载此目录下的所有配置文件。
vim /etc/rsyslog.d/haproxy.conf
if ($programname == 'haproxy' and $syslogseverity-text == 'info')
then -/var/log/haproxy/haproxy-info.log
&~
if ($programname == 'haproxy' and $syslogseverity-text == 'notice')
then -/var/log/haproxy/haproxy-notice.log
&~
systemctl restart rsyslog.service
在客户端访问192.168.226.40/index.html
为日志文件产生记录
vim /var/log/haproxy/haproxy-info.log
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。