Linux下HAProxy的均衡配置

来源:互联网 发布:陕西广电网络在哪 编辑:程序博客网 时间:2024/05/17 17:58
 

 

安装 HAProxy 配置负载均衡

HAProxy 可以完成较复杂的负载均衡工作,同时还可对服务器健康检测,有 down 机的自动停止分发,当服务器正常后,又自动均衡到刚死过的服务器。

下载:haProxy 1.3.15 http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.7.tar.gz

安装:

1.  cd /home  2.  wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.15.7.tar.gz  3.  tar -zxvf haproxy-1.3.15.7.tar.gz  4.  cd haproxy-1.3.15.7  5.  mkdir –p /usr/local/haproxy/logs/6.  make TARGET=linux26 PREFIX=/usr/local/haproxy7.  make install PREFIX=/usr/local/haproxy8.  cd /usr/local/haproxy  9.  vi haproxy.cfg  


创建/修改配置haproxy.cfg:


         global                 log 127.0.0.1   local0                 #log 127.0.0.1  local1 notice                  #log loghost    local0 info                 maxconn 4096                chroot /usr/local/haproxy                 uid 99                  gid 99                 daemon        nbproc 1               pidfile /usr/local/haproxy/logs/haproxy.pid               #debug                #quiet        defaults                log     127.0.0.1       local3                 mode    http                option  httplog                option  httpclose                 option  dontlognull              option  forwardfor              option  redispatch                retries 2                        maxconn 2000                balance roundrobin                stats   uri     /haproxy-stats                 contimeout      5000               clitimeout      50000                 srvtimeout      50000        listen web 192.168.200.101:8090               mode http                balance roundrobin                option forwardfor                option httpclose                option httpchk GET /index.html                 server  s1 192.168.200.101:8080 weight 3 check                server  s3 192.168.200.101:9090 weight 3 check  



 

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

启动:/usr/local/sbin/haproxy -f /usr/local/haproxy.cfg

用命URL进行均衡测试:http://192.168.200.100:8090/

可以打开 stats 看,http://192.168.200.100:8090/haproxy-stats,如:

日志输出:

40. ##########添加下面语句#########41. vi /etc/syslog.conflocal3.*         /var/log/haproxy.loglocal0.*         /var/log/haproxy.log42. ##########修改下面语句##########43. vi /etc/sysconfig/syslogSYSLOGD_OPTIONS="-r -m 0"44. ############重启服务#############45. service syslog restart46. 重启haproxy

 

如果修改 haproxy.cfg 配置,想重启 haproxy 用 kill -HUP `cat logs/haproxy.pid` 是不行的。必须使用 -sf 或 -st 参数,如:

/usr/local/haproxy/sbin/haproxy -f  /usr/local/haproxy/haproxy.cfg -st `cat /usr/local/haproxy/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信号,这个参数放在命令行的最后

 

 

# tail –f /var/log/harpoxy.log 监控日志 # ./haproxy -f haproxy.cfg 启动服务.