負載均衡工具haproxy安裝,配置,使用

一,什麼是haproxy

HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代 理,支持虛擬主機,它是免費、快速並且可靠的一種解決方案。HAProxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。HAProxy運行在當前的硬件上,完全可以支持數以萬計的併發連接。並且它的運行模式使得它可以很簡單安全的整合進您當前的架構中, 同時可以保護你的web服務器不被暴露到網絡上。

二,安裝haproxy

下載列表地址http://haproxy.1wt.eu

wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.8.tar.gz

tar zxvf haproxy-1.4.8.tar.gz

cd haproxy-1.4.8

uname -a           //查看linux內核版本

make TARGET=linux26 PREFIX=/usr/local/haproxy

make install PREFIX=/usr/local/haproxy

三,配置haproxy

vi /usr/local/haproxy/haproxy.cfg

global          maxconn 5120           chroot /usr/local/haproxy          uid 99           gid 99          daemon           quiet          nbproc  2           pidfile /usr/local/haproxy/haproxy.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 webinfo :1080         mode http          balance roundrobin         option httpclose          option forwardfor  server phpinfo1 192.168.18.2:10000 check weight 1 minconn 1 maxconn 3 check inter 40000   server phpinfo2 127.0.0.1:80 check weight 1 minconn 1 maxconn 3 check inter 40000     listen webmb :1081         mode http          balance roundrobin         option httpclose          option forwardfor  server webmb1 192.168.1.91:10000 weight 1 minconn 1 maxconn 3 check inter 40000   server webmb2 127.0.0.1:10000 weight 1 minconn 1 maxconn 3 check inter 40000      listen stats :8888         mode http          transparent         stats uri / haproxy-stats          stats realm Haproxy / statistic         stats auth zhangy:xtajmd  

三,啓動haproxy

#啓動haproxy

/usr/local/haproxy/haproxy -f /usr/local/haproxy/haproxy.cfg

#查看是否啓動

[zhangy@BlackGhost haproxy]$ ps -e|grep haproxy

4859 ?        00:00:00 haproxy

4860 ?        00:00:00 haproxy

四,壓力測試

[root@BlackGhost haproxy]# /usr/local/bin/webbench -c 100 -t 30 http://localhost:1080/phpinfo.php

Webbench – Simple Web Benchmark 1.5

Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.

Benchmarking: GET http://localhost:1080/phpinfo.php

100 clients, running 30 sec.

Speed=26508 pages/min, 20929384 bytes/sec.

Requests: 13254 susceed, 0 failed.

說明:haproxy監聽的端口是1080,代理192.168.18.2:10000,127.0.0.1:10000

統計監聽的是8888端口 http://localhost:8888/haproxy-stats

haproxy負載均衡

haproxy負載均衡

配置說明:

1.4系列參考配置文件

http://haproxy.1wt.eu/download/1.4/doc/configuration.txt

1.3系列參考配置文件

http://haproxy.1wt.eu/download/1.3/doc/configuration.txt

轉載請註明

作者:海底蒼鷹

地址:http://blog.51yip.com/server/868.html

如果修改 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 啓動服務.

 

最終使用下列解決了日誌問題

vi /etc/sysconfig/syslog

把SYSLOGD_OPTIONS=”-m 0″ 改成 SYSLOGD_OPTIONS=”-r -m 0″

讓syslogd接受遠程的日誌輸出

/etc/init.d/syslog restart

然後就可以看到日誌輸出了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章