HAProxy负载均衡器的安装及配置(转)

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现。LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。

AD:

软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现。LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。

HAProxy相比LVS的使用要简单很多,功能方面也很丰富。当 前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器、内部协议通信服务器等),和7层(HTTP)。在4层模式 下,HAProxy仅在客户端和服务器之间转发双向流量。7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者删除请求 (request)或者回应(response)里指定内容来控制协议,这种操作要基于特定规则。

我现在用HAProxy主要在于它有以下优点,这里我总结下:

一、免费开源,稳定性也是非常好,这个可通过我做的一些小项目可以看出来,单Haproxy也跑得不错,稳定性可以与LVS相媲美;

二、根据官方文档,HAProxy可以跑满10Gbps-New benchmark of HAProxy at 10 Gbps using Myricom‘s 10GbE NICs (Myri-10G PCI-Express),这个作为软件级负载均衡,也是比较惊人的;

三、HAProxy可以作为MySQL、邮件或其它的非web的负载均衡,我们常用于它作为MySQL(读)负载均衡;

四、自带强大的监控服务器状态的页面,实际环境中我们结合Nagios进行邮件或短信报警,这个也是我非常喜欢它的原因之一;

五、HAProxy支持虚拟主机。

实验环境也很简单:

HAProxy  IP:192.168.4.192 Centos5.5-64bitWeb1 IP:192.168.4.45 Centos5.4-64bitWeb2 IP:192.168.21.45 FreeBSD8.0-64bit

具体安装及配置文档如下:

一、HAProxy的下载及安装过程:

wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gzmake TARGET=linux26 prefix=/usr/local/haproxy installcd /usr/local/haproxymkdir confcd confvim haproxy.conf

内容 如下:

global
        log 127.0.0.1   local0
        maxconn 4096
        chroot /usr/local/haproxy
        uid 501
        gid 501
        daemon
        nbproc 1
        pidfile /usr/local/haproxy/logs/haproxy.pid
        debug

defaults
        log     127.0.0.1       local3
        mode    http
        option httplog
        option httpclose
        option dontlognull
        option forwardfor
        option redispatch
        retries 2
        maxconn 2000
        balance roundrobin
        stats   uri     /haproxy-stats
        contimeout      5000
        clitimeout      50000
        srvtimeout      50000

listen web_proxy 192.168.4.192:80
        #option httpchk HEAD /index.php  HTTP/1.0
        server web1_192.168.21.45 192.168.21.45:80 cookie app1inst1 check inter 2000 rise 2 fall 5
        server web2_192.168.4.45  192.168.4.45:80 cookie app1inst2 check inter 2000 rise 2 fall 5

配置文件刚从服务器上copy下来的,保证可用。这里有个事情说明一下,有时候我们进入页面http://192.168.4.192/就会报如下错误:

503 Service UnavailableNo server is available to handle this request.

option httpchk HEAD /check.txt HTTP/1.0

此问题出在这句话上面,它的意思是Haproxy会判断你的后端web的根上存在check.txt没有,以此作为haproxy-status的监控状态依据,将它#掉即可;如果是生产环境,你可将check.txt改为index.jsp或index.php即可;

另外,建议配置一个HAProxy的启动、关闭、重启脚本,放在/etc/init.d下,我们在平时的工作中应该养成一个习惯,服务器的启动或重启应该是最简单的,万一到了生产环境下出错时,我们可以以最快的方式启动,如果不用脚本的话,我们就要尝试以如下方式启动:

/usr/local/haproxy/sbin/haproxy -f /usr/local/haproxy/haproxy.cfg

以下脚本生成后,我们直接可以用/etc/init.d/haproxy  start来启动HAProxy服务了。

#!/bin/bash
BASE_DIR="/usr/local/haproxy"
ARGV="[email protected]"

start()
{
echo "START HAPoxy SERVERS"
$BASE_DIR/sbin/haproxy -f $BASE_DIR/conf/haproxy.cfg
}

stop()
{
echo "STOP HAPoxy Listen"
kill -TTOU $(cat $BASE_DIR/logs/haproxy.pid)
echo "STOP HAPoxy process"
kill -USR1 $(cat $BASE_DIR/logs/haproxy.pid)
}
case $ARGV in

start)
start
ERROR=$?
;;

stop)
stop
ERROR=$?
;;

restart)
stop
start
ERROR=$?
;;

*)
echo "hactl.sh [start|restart|stop]"
esac
exit $ERROR

我们在Firefox或IE上输入http://192.168.4.192  就可以轮询的看到后端的web的页面了,另外我们可以随时监控页面http://192.168.4.192/haproxy-status/,效果图如下:

另外,如果要做HAProxy的高可用,我推荐用HAProxy+Keepalived,网上成功的安例也有许多,大家可以googel学习下,如果你对此篇文章有疑问或其它,

希望通过我在51cto的博客与我交流http://andrewyu.blog.51cto.com(抚琴煮酒)。

HAProxy负载均衡器的安装及配置(转),布布扣,bubuko.com

时间: 2024-08-11 01:35:49

HAProxy负载均衡器的安装及配置(转)的相关文章

HaProxy介绍,安装及配置

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

高负载均衡学习haproxy之安装与配置

http://www.52codes.net/article/3117.html 1.1.haproxy原理 haproxy提供高可用性.负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. haproxy特别适用于那些负载特别大的web站点,这些站点通常又需要会话保持或七层处理.haproxy运行在时下的硬件上,完全可以支持数以万计的并发连接,并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器

Haproxy 安装与配置

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

Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置

要点概括 1.关闭iptables 或者设置常用端口为accept(关闭省事) 2.修改/etc/hosts ,设置RSA互信,避免在传文件需要密码 3.使用mariadb或者其他版本的DB带有WSREP功能 4.修改配置文件,在原来初始化的基础上加上WSREP的参数 5.启动第一个节点 6.在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致 7.初始化启动其他节点 8.集群负载均衡和单点故障使用haproxy+keepalived 9.Haproxy+cluster状态检测 10.h

Haproxy安装及配置(转)

1.安装 # wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz # tar zcvf haproxy-1.3.20.tar.gz # cd haproxy-1.3.20 # make TARGET=linux26 PREFIX=/usr/local/haproxy                                #将haproxy安装到/usr/local/haproxy # make install

HAproxy的简单安装配置介绍

Haproxy:是一款基于TCP(第四层)和HTTP(第七层)的代理软件,支持双机热备和支持虚拟主机,具有良好的负载均衡能力,并且它的配置也是十分简单,拥有非常好的后端服务健康检查功能,当其代理的后端服务器出现故障时,HAproxy会自动将该服务器摘除,故障恢复后再自动匹配,其中的frontend.backend.非常灵活好用,fronten会根据HTTP请求头内容做规则匹配,然后再把请求定向到backend. 提供服务的真机: Real-server1.2: #yum  install  -y

理解 OpenStack Swift (1):OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置

本系列文章着重学习和研究OpenStack Swift,包括环境搭建.原理.架构.监控和性能等. (1)OpenStack + 三节点Swift 集群+ HAProxy + UCARP 安装和配置 (2)Swift 原理和架构 (3)Swift 监控 (4)Swift 性能 要实现的系统的效果图: 特点: 使用三个对等物理节点,每个节点上部署所有Swift 服务 使用开源的 UCARP 控制一个 VIP,它会被绑定到三个物理网卡中的一个. 使用开源的 HAProxy 做负载均衡 开启 Swift

Keepalived安装与配置

一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能,负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP协议实现多台机器之间的故障转移服务. 上图是Keepalived的功能体系结构,大致分两层:用户空间(user space)和内核空间(kernel space

HAPROXY实现web负责均衡配置

本人系统RedHat6.4 ,HAPROXY版本为haproxy-1.3.15.10.tar.gz 安装 安装PCRE –       [[email protected]~]# yum -y install pcre pcre-devel 解压并进入haproxy目录 –       [[email protected]~]# tar xvzf haproxy-1.4.24.tar.gz –       [[email protected]~]# cd haproxy-1.4.24 查看内核版