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

一,什么是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.   
  23. listen webinfo :1080  
  24.        mode http  
  25.        balance roundrobin  
  26.        option httpclose  
  27.        option forwardfor  
  28. server phpinfo1 192.168.18.2:10000 check weight 1 minconn 1 maxconn 3 check inter 40000  
  29. server phpinfo2 127.0.0.1:80 check weight 1 minconn 1 maxconn 3 check inter 40000  
  30.   
  31. listen webmb :1081  
  32.        mode http  
  33.        balance roundrobin  
  34.        option httpclose  
  35.        option forwardfor  
  36. server webmb1 192.168.1.91:10000 weight 1 minconn 1 maxconn 3 check inter 40000  
  37. server webmb2 127.0.0.1:10000 weight 1 minconn 1 maxconn 3 check inter 40000  
  38.   
  39.  listen stats :8888  
  40.        mode http  
  41.        transparent  
  42.        stats uri / haproxy-stats  
  43.        stats realm Haproxy / statistic  
  44.        stats auth zhangy:xtajmd  
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 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负载均衡

配置说明:

1.4系列参考配置文件

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

1.3系列参考配置文件

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

转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/server/868.html

如果修改 haproxy.cfg 配置,想重启 haproxy 用 kill -HUP `cat logs/haproxy.pid` 是不行的。必须使用 -sf 或 -st 参数,如: sbin/haproxy -f haproxy.cfg -st `cat logs/haproxy.pid ` #./haproxy –help //haproxy相关命令参数介绍. haproxy -f <配置文件> [-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p] [-s] [-l] [-dk] [-ds] [-de] [-dp] [-db] [-m <内存限制M>] [{-sf|-st} pidlist...] -d 前台,debug模式 -D daemon模式启动 -q 安静模式,不输出信息 -V 详细模式 -c 对配置文件进行语法检查 -s 显示统计数据 -l 显示详细统计数据 -dk 不使用kqueue -ds 不使用speculative epoll -de 不使用epoll -dp 不使用poll -db 禁用后台模式,程序跑在前台 -sf 程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后 -st 程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后 但配置后,死活不会输出日志,还没找到解决方法,网上有些,但行不通: syslog.conf里加一行 local3.* /var/log/haproxy.log # killall -HUP syslogd 重启 syslogd # touch /var/log/haproxy.log # chmod 777 /var/log/haproxy.log # tail –f /var/log/harpoxy.log 监控日志 # ./haproxy -f haproxy.cfg 启动服务.

 

最终使用下列解决了日志问题
vi /etc/sysconfig/syslog
把SYSLOGD_OPTIONS="-m 0" 改成 SYSLOGD_OPTIONS="-r -m 0"
让syslogd接受远程的日志输出
/etc/init.d/syslog restart
然后就可以看到日志输出了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值