Web高并发访问,就用HAPorxy实现负载均衡
来源:优易学  2011-12-22 19:56:40   【优易学:中国教育考试门户网】   资料下载   IT书店
  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
  global
    maxconn 5120
    chroot /usr/local/haproxy
    uid 99
    gid 99
    daemon
  quiet
    nbproc 2 #通过nbproc多设置几个haproxy并发进程,这样每个进程的task_queue相对就会短很多,性能自然就能提高不少
    #pidfile /var/run/haproxy-private.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 webfarm 0.0.0.0:80
  mode http
  stats uri /haproxy-stats #监控haproxy状态
  stats realm Haproxy\ statistics
  stats auth netseek:52netseek #设置状态监控的用户名为netseek密码为52netseek
  balance roundrobin #负载均衡算法
  cookie SERVERID insert indirect
  option httpclose #
  option forwardfor #apache日志转发功能
  option httpchk HEAD /check.txt HTTP/1.0 #健康检测
  server app_bbs1 192.168.169.117:80 cookie app1inst1 check inter 2000 rise 2 fall 5
  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信号,这个参数放在命令行的最后。

责任编辑:小草

文章搜索:
 相关文章
热点资讯
热门课程培训