一,什么是haproxy

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

二,安装haproxy

下载列表地址http://haproxy.1wt.eu

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz

tar zxvf haproxy-1.4.8.tar.gz
cd haproxy-1.4.8
uname -a           //查看linux内核版本
make TARGET=linux26 PREFIX=/usr/local/haproxy
make install PREFIX=/usr/local/haproxy

三,配置haproxy

vi /usr/local/haproxy/haproxy.cfg

    1. global   

    2.         maxconn 5120   

    3.         chroot /usr/local/haproxy   

    4.         uid 99   

    5.         gid 99   

    6.         daemon   

    7.         quiet   

    8.         nbproc  2   

    9.         pidfile /usr/local/haproxy/haproxy.pid   

    10. defaults   

    11.         log     global   

    12.         mode    http   

    13.         option  httplog   

    14.         option  dontlognull   

    15.         log 127.0.0.1 local3   

    16.         retries 3   

    17.         option redispatch   

    18.         maxconn 2000   

    19.         contimeout      5000   

    20.         clitimeout      50000   

    21.         srvtimeout      50000   

    22. listen webinfo :1080   

    23.        mode http   

    24.        balance roundrobin   

    25.        option httpclose   

    26.        option forwardfor   

    27. server phpinfo1 192.168.18.2:10000 check weight 1 minconn 1 maxconn 3 check inter 40000   

    28. server phpinfo2 127.0.0.1:80 check weight 1 minconn 1 maxconn 3 check inter 40000   

    29. listen webmb :1081   

    30.        mode http   

    31.        balance roundrobin   

    32.        option httpclose   

    33.        option forwardfor   

    34. server webmb1 192.168.1.91:10000 weight 1 minconn 1 maxconn 3 check inter 40000   

    35. server webmb2 127.0.0.1:10000 weight 1 minconn 1 maxconn 3 check inter 40000   

    36.  listen stats :8888   

    37.        mode http   

    38.        transparent   

    39.        stats uri / haproxy-stats   

    40.        stats realm Haproxy \ statistic   

    41.        stats auth zhangy:xtajmd  

    三,启动haproxy

#启动haproxy
/usr/local/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg

#查看是否启动
[zhangy@BlackGhost haproxy]$ ps -e|grep haproxy
4859 ?        00:00:00 haproxy
4860 ?        00:00:00 haproxy

四,压力测试

[root@BlackGhost haproxy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost:1080/phpinfo.php
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost:1080/phpinfo.php
100 clients, running 30 sec.

Speed=26508 pages/min, 20929384 bytes/sec.
Requests: 13254 susceed, 0 failed.

说明:haproxy监听的端口是1080,代理192.168.18.2:10000,127.0.0.1:10000

统计监听的是8888端口 http://localhost:8888/haproxy-stats

haproxy负载均衡

haproxy负载均衡

原文地址:http://blog.51yip.com/server/868.html

详细配置请参考:http://www.cnblogs.com/dkblog/archive/2012/03/13/2393321.html