利用HAProxy 实现负载均衡

linuxpk推出了<<开源>>电子杂志[下载地址:http://bbs.linuxpk.com/thread-12999-1-1.html](Linux开源知识)

 

一,HAProxy 介绍
  反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服务器加入。新的1.3引入了frontend,backend,frontend根据任意HTTP请求头内容做规则匹配,然后把请求定向到相关的backend.

二,利用HAPorxy实现负载均衡
  1. 利用HAProxy实现负载均衡
   192.168.169.137 (haproxy)---------负载均衡----------(192.168.169.117;192.168.169.118)
   安装配置HAproxy
cd /usr/local/
wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.14.2.tar.gz
tar zxvf haproxy-1.3.14.2.tar.gz
mv  haproxy-1.3.14.2  haproxy
cd haproxy
make TARGET=linux26

2. 创建配置文件
# vi haproxy.cfg

  1. --------------------------------------------------------------------------------------------------------------------
  2. global
  3.         maxconn 5120
  4.         chroot /usr/local/haproxy
  5.         uid 99
  6.         gid 99
  7.         daemon
  8.        quiet
  9.         nbproc  2  #通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
  10.         #pidfile /var/run/haproxy-private.pid
  11. defaults
  12.         log     global
  13.         mode    http
  14.         option  httplog
  15.         option  dontlognull
  16.         log 127.0.0.1 local3
  17.         retries 3
  18.         option redispatch
  19.         maxconn 2000
  20.         contimeout      5000
  21.         clitimeout      50000
  22.         srvtimeout      50000
  23. listen webfarm 0.0.0.0:80
  24.        mode http
  25.        stats uri /haproxy-stats     #监控haproxy状态
  26.        stats realm Haproxy/ statistics
  27.        stats auth netseek:52netseek  #设置状态监控的用户名为netseek密码为52netseek
  28.        balance roundrobin     #负载均衡算法
  29.        cookie SERVERID insert indirect
  30.       option httpclose   #
  31.        option forwardfor  #apache日志转发功能
  32.        option httpchk HEAD /check.txt HTTP/1.0  #健康检测
  33. server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
  34. server app_bbs2 192.168.169.118:80 cookie app1inst2 check inter 2000 rise 2 fall 5
复制代码

syslog.conf里加一行
local3.*         /var/log/haproxy.log
  
# touch /var/log/haproxy.log
# chown haproxy:haproxy /var/log/haproxy.log
# chmod u+x /var/log/haproxy.log
  
# tail –f /var/log/harpoxy.log 监控日志

# ./haproxy -f haproxy.cfg 启动服务.


   监控状态图示http://192.168.169.137/haproxy-stats ,输入用户名密码查看状态。
     
后端apache日志处理
配置httpd.conf
LogFormat "%{X-Forwarded-For}i %l %u %t /"%r/" %>s %b " combined
        CustomLog /var/log/httpd/access_log combined

虚拟主机不记录检测日志:
SetEnvIf Request_URI "^/check/.txt$" dontlog
    LogLevel warn
    ErrorLog /var/log/httpd/vhost_error.log
    CustomLog /var/log/httpd/vhost_access.log combined env=!dontlog


三.相关介绍
   #./haproxy –help //haproxy相关命令参数介绍.
   haproxy  -f  <配置文件>  [-n 最大并发连接总数] [-N 每个侦听的最大并发数] [-d] [-D] [-q] [-V] [-c] [-p <pid文件>] [-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>
       程序启动后向pidlist里的进程发送FINISH信号,这个参数放在命令行的最后
       -st <pidlist>
       程序启动后向pidlist里的进程发送TERMINATE信号,这个参数放在命令行的最后
四,更高级的应用参考相关文档
  官方参考手册: http://haproxy.1wt.eu/download/1.3/doc/haproxy-en.txt
  http://www.howtoforge.com/high-a ... artbeat-debian-etch

 

 

官方网站:http://cn.haproxy.org/

 

配置网站
http://bbs.linuxpk.com/thread-13193-1-1.html

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值