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

来源:互联网 发布:淘宝助理for mac版 编辑:程序博客网 时间:2024/04/30 01:39

转自:http://a280606790.iteye.com/blog/904383

一,什么是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

Java代码  收藏代码
  1. <span style="font-size: small;">global                                                                                                                                                                   
  2.   log 127.0.0.1 daemon debug  
  3.   maxconn 5120  
  4.   chroot /home/denghaiping/document/search/solr/haproxy-1.3.14.2  
  5.   
  6. uid 99  
  7. #  user haproxy  
  8. gid 99  
  9. #  group ha-group  
  10.   daemon  
  11. #  quiet  
  12. #  nbproc   2   # number of processes  
  13.   pidfile /home/sgcc/demo/haproxy-1.3.14.2/haproxy.pid  
  14.   
  15.   
  16. defaults  
  17. #  log     global  
  18.   log 127.0.0.1 local3  
  19.   mode http  
  20.   option   httplog  
  21.   option   dontlognull  
  22.   option redispatch  
  23.   log 127.0.0.1 local3  
  24.   retries 3   
  25.   
  26.   maxconn 2000  
  27.   contimeout    5000  
  28.   clitimeout    50000  
  29.   srvtimeout    50000  
  30.   
  31.   
  32. listen yoyoseg_proxy   
  33.   bind :10001  
  34.   mode tcp   
  35.   
  36. # status monitor  
  37. #stats uri /haproxy-stats  
  38. #  stats realm Haproxy\ statistics  
  39. #  stats auth yoyo:yoyocc8ha  
  40.      
  41.   balance roundrobin  
  42.   
  43. # insert: to create a new cookie and assign the server identifier to it  
  44. # indirect: remove the cookie for direct accesses  
  45. # nocache: ensure that no upstream cache will store it  
  46. #  cookie SERVERID insert indirect nocache  
  47.   
  48. #  cookie PHPSESSID prefix  
  49. #  appsession PHPSESSID len 32 timeout 86400000  
  50.     
  51. # force connection:close, thus disabling HTTP keep-alive    
  52. #  option httpclose  
  53.     
  54. if the application needs to log the original client’s IP,   
  55. # use the 'forwardfor' option which will add an 'X-Forwarded-For'  
  56. # header with the original client's IP address.  
  57. #  option forwardfor    
  58. # health checking  
  59. #option httpchk HEAD /check.txt HTTP/1.0  
  60.   
  61.   # inter:    interval between health checking in milliseconds  
  62.   # fall:     the number of failures supported before declaring that the server has fallen down  
  63.   # rise:     the number of valid checks needed for the server to fully get up  
  64.   
  65.   server seg_server_1 localhost:10002  
  66.   server seg_server_1 localhost:10003   
  67.   server seg_server_1 localhost:10004   
  68.   server seg_server_1 localhost:10005  
  69.   server seg_server_1 localhost:10006  
  70.   
  71. #  server app_server_2 59.57.14.176:8008 cookie yoyo_app_2 check inter 2000 rise 2 fall 5  
  72. #server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5                                                                                   
  73.                                                                                           
  74.   
  75. </span>  

 

三,启动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负载均衡

配置说明:

1.4系列参考配置文件

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

1.3系列参考配置文件

http://haproxy.1wt.eu/download/1.3/doc/configuration.txt


原创粉丝点击