免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5693 | 回复: 0
打印 上一主题 下一主题

利用HAProxy实现负载均衡 [复制链接]

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-04 09:54 |只看该作者 |倒序浏览
一,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. [url=javascript:;][u][b][color=#656d77]算法[/color][/b][/u][/url]
  30.        cookie SERVERID insert indirect
  31.       option httpclose   #
  32.        option forwardfor  #apache日志转发功能
  33.        option httpchk HEAD /check.txt HTTP/1.0  #健康检测
  34. server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
  35. 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 ] [-s] [-l] [-dk]
       [-ds] [-de] [-dp] [-db] [-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信号,这个参数放在命令行的最后
四,更高级的应用参考相关文档
  官方参考手册:
http://haproxy.1wt.eu/download/1.3/doc/haproxy-en.txt
  
http://www.howtoforge.com/high-availability-load-balancer-haproxy-heartbeat-debian-etch


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_1358929.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP