Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7657091
  • 博文数量: 1770
  • 博客积分: 18684
  • 博客等级: 上将
  • 技术积分: 16357
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-02 10:28
个人简介

啥也没写

文章分类

全部博文(1770)

文章存档

2024年(16)

2023年(44)

2022年(39)

2021年(46)

2020年(43)

2019年(27)

2018年(44)

2017年(50)

2016年(47)

2015年(15)

2014年(21)

2013年(43)

2012年(143)

2011年(228)

2010年(263)

2009年(384)

2008年(246)

2007年(30)

2006年(38)

2005年(2)

2004年(1)

分类: LINUX

2009-11-12 15:13:23

据说 HAProxy 可以做负载均衡,同时还可对服务器健康检测,有 down 机的自动停止分发,当服务器正常后,又自动均衡到刚死过的服务器。之前用 nginx ,现试用下 haproxy 。

下载:haProxy 1.3.15

安装:

  1. cd /home/chenlb   
  2. wget tar.gz   
  3. tar -zxvf haproxy-1.3.15.7.tar.gz   
  4. cd haproxy-1.3.15.7   
  5. make TARGET=linux26 PREFIX=/home   
  6. make install PREFIX=/home   
  7.   
  8. cd /home/haproxy   
  9. vi haproxy.cfg  

创建/修改配置haproxy.cfg:

  1. global   
  2.         log 127.0.0.1   local0   
  3.         #log 127.0.0.1  local1 notice   
  4.         #log loghost    local0 info   
  5.         maxconn 4096   
  6.         chroot /home/haproxy   
  7.         uid 99   
  8.         gid 99   
  9.         daemon   
  10.         nbproc 1   
  11.         pidfile /home/haproxy/logs/haproxy.pid   
  12.         #debug   
  13.         #quiet   
  14.   
  15. defaults   
  16.         log     127.0.0.1       local3   
  17.         mode    http   
  18.         option  httplog   
  19.         option  httpclose   
  20.         option  dontlognull   
  21.         option  forwardfor   
  22.         option  redispatch   
  23.         retries 2   
  24.         maxconn 2000   
  25.         balance roundrobin   
  26.         stats   uri     /haproxy-stats   
  27.         contimeout      5000   
  28.         clitimeout      50000   
  29.         srvtimeout      50000   
  30.   
  31. listen  web_proxy 0.0.0.0:1080   
  32.         option  httpchk GET /ping.jsp   
  33.   
  34.         server  s1 192.168.0.101:8080 weight 3 check   
  35.         #server s2 192.168.0.102:8080 weight 3 check   
  36.         server  s3 192.168.0.103:8080 weight 3 check  

启动 haproxy:

sbin/haproxy -f haproxy.cfg

haproxy 192.168.0.100 分发到 192.168.0.101, 192.168.0.103 (故意down掉)。

可以打开 stats 看,,如:

haproxy balance stats

haproxy balance stats, 点击放大

如果修改 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 启动服务.

haproxy 还可以用 nginx 的配置,请看:

参考资料:,,,

阅读(1560) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~