负载均衡工具haproxy安装,配置,使用

来源:互联网 发布:windows主机压力测试 编辑:程序博客网 时间:2024/05/17 06:21

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

其支持从4层至7层的网络交换,即覆盖所有的TCP协议。就是说,Haproxy 甚至还支持 Mysql 的均衡负载。。
如果说在功能上,能以proxy反向代理方式实现 WEB均衡负载,这样的产品有很多。包括 Nginx,ApacheProxy,lighttpd,Cheroke 等。
但要明确一点的,Haproxy 并不是 Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是 WEB 服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或动态(php,cgi..)文件的传输以及处理。而Haproxy 仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http服务。



二,安装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

 

修改配置文件为


global  
        maxconn 5120  
        chroot /usr/local/haproxy  
        uid 99  
        gid 99  
        daemon  
        quiet  
        nbproc  2  
        pidfile /usr/local/haproxy/haproxy.pid  
defaults  
        log     global  
        mode    http  
        option  httplog  
        option  dontlognull  
        log 127.0.0.1 local3  
        retries 3  
        option redispatch  
        maxconn 2000  
        contimeout      5000  
        clitimeout      50000  
        srvtimeout      50000  
  
listen webinfo :1080  
       mode http  
       balance roundrobin  
       option httpclose  
       option forwardfor  
server phpinfo1 192.168.18.2:10000 check weight 1 minconn 1 maxconn 3 check inter 40000  
server phpinfo2 127.0.0.1:80 check weight 1 minconn 1 maxconn 3 check inter 40000  
  
listen webmb :1081  
       mode http  
       balance roundrobin  
       option httpclose  
       option forwardfor  
server webmb1 192.168.1.91:10000 weight 1 minconn 1 maxconn 3 check inter 40000  
server webmb2 127.0.0.1:10000 weight 1 minconn 1 maxconn 3 check inter 40000  
  
listen stats :8888  
       mode http  
       transparent  
       stats uri / haproxy-stats  
       stats realm Haproxy \ statistic  
       stats auth admin:admin  

 

四,启动haproxy
#启动haproxy


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

查看是否启动


[zhangy@BlackGhost haproxy]$ ps -e|grep haproxy
25053 ?        00:00:00 haproxy
25054 ?        00:00:00 haproxy

 

五,测试

http://localhost:1080/phpinfo.php

 

六,监控

http://localhost:8888/stats

用户名admin密码admin,就是之前你在配置文件中设置的!