生活随笔
收集整理的這篇文章主要介紹了
HAproxy - 铁钉 - 51CTO技术博客
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
HAproxy - 鐵釘 - 51CTO技術(shù)博客
HAproxy
2009-11-30 14:24:37
標(biāo)簽:HAproxy 休閑 職場(chǎng)
原創(chuàng)作品,允許轉(zhuǎn)載,轉(zhuǎn)載時(shí)請(qǐng)務(wù)必以超鏈接形式標(biāo)明文章 原始出處 、作者信息和本聲明。否則將追究法律責(zé)任。http://nails.blog.51cto.com/640492/236878
HAPorxy 集群配置 ????????????????????????????????????????????????一? HAProxy 介紹??? ???反向代理服務(wù)器,支持雙機(jī)熱備支持虛擬主機(jī),但其配置簡(jiǎn)單,擁有非常不錯(cuò)的服務(wù)器健康檢查功能,當(dāng)其代理的后端服務(wù)器出現(xiàn)故障, HAProxy會(huì)自動(dòng)將該服務(wù)器摘除,故障恢復(fù)后再自動(dòng)將該服務(wù)器加入。有Web圖形化的界面,可以查看集群的狀態(tài)。?新的1.3版本后,引入了frontend,backend,frontend根據(jù)任意HTTP請(qǐng)求頭內(nèi)容做規(guī)則匹配,然后把請(qǐng)求定向到相關(guān)的backend.??二? 網(wǎng)絡(luò)架構(gòu)?? 一般采用的網(wǎng)絡(luò)結(jié)構(gòu)(反向代理) ???????三? 配置實(shí)例??| 角色 | 操作系統(tǒng) | IP地址及對(duì)應(yīng)域名 | 服務(wù)端口 |
| HAproxy | Redhat Linux AS4 | eth0??? 10.0.0.60/24? dms.sds.cometh0 ???10.0.0.70/24? help.sds.cometh1??? 10.0.1.60/24 | 80 |
| APP Server | Windows | 10.0.1.10—15/24 | 80 |
?需要:1.????? 訪問(wèn) dms.sds.com 時(shí),自動(dòng)分發(fā)到集群節(jié)點(diǎn)服務(wù)器10.0.1.10-15/24 這6臺(tái)服務(wù)器上。2.????? 訪問(wèn) help.sds.com 時(shí),自動(dòng)分發(fā)到服務(wù)器 10.0.1.15/24 上(該服務(wù)器上有幫助網(wǎng)站)。?四 配置步驟?1.????? 從 http://haproxy.1wt.eu 下載 HAproxy 最新穩(wěn)定版2.????? 將下載的文件haproxy-1.3.15.1.tar.gz存放到Linux服務(wù)器/usr/share目錄。3.????? 解壓tar –zxvf? haproxy-1.3.15.1.tar.gz4.????? 重命名解壓后的文件夾 mv haproxy-1.3.15.1 haproxy5.??? cd haproxy6.????? make TARGET=linux26? #本例Redhat 的內(nèi)核是2.6,請(qǐng)先查看HAproxy 的README7.????? make install8.????? 安裝好后就可以配置了。9.????? vi haproxy.cfgglobal?????? maxconn 5120?????? chroot /usr/share/haproxy?? #? haproxy安裝目錄????? ?uid 99?????? gid 99?????? daemon?? ???quiet??????? # 通過(guò)nbproc多設(shè)置幾個(gè)haproxy并發(fā)進(jìn)程,這樣每個(gè)進(jìn)程的task_queue相對(duì)就會(huì)短很多,性能自然就能提高不少????? ?nbproc?? 2?? ?????? #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 SDS.DMS.COM 10.0.0.60:80? # 監(jiān)聽(tīng)IP及端口,域名是在Web界面顯示的標(biāo)識(shí)??? mode http?? stats uri /haproxy ??# 監(jiān)控haproxy狀態(tài)虛擬目錄?? stats realm Haproxy\statistics? ?stats auth gao:gao?? # 設(shè)置狀態(tài)監(jiān)控的用戶名為gao密碼為gao?? balance roundrobin? ?# 負(fù)載均衡算法?? cookie SERVERID insert indirect?? option httpclose ?? option forwardfor? ?? option httpchk HEAD /welcome.htm HTTP/1.0 ??# 健康檢測(cè) 每一臺(tái)的IIS根目錄存放#? weblocme.htm文件# 下面是節(jié)點(diǎn)服務(wù)器server APP01 10.0.1.10:80 cookie app1inst1 check inter 2000 rise 2 fall 5server APP02 10.0.1.11:80 cookie app1inst2 check inter 2000 rise 2 fall 5server APP03 10.0.1.12:80 cookie app1inst3 check inter 2000 rise 2 fall 5server APP04 10.0.1.13:80 cookie app1inst4 check inter 2000 rise 2 fall 5server APP05 10.0.1.14:80 cookie app1inst5 check inter 2000 rise 2 fall 5server APP06 10.0.1.15:80 cookie app1inst6 check inter 2000 rise 2 fall 5??listen Help.SDS.Com? 10.0.0.70:80 ?# 監(jiān)聽(tīng)IP及端口,域名是在Web界面顯示的標(biāo)識(shí)??? mode http?? stats uri /haproxy? ?????# 監(jiān)控haproxy狀態(tài)虛擬目錄?? stats realm Haproxy\statistics?? stats auth gao:gao??? # 設(shè)置狀態(tài)監(jiān)控的用戶名為gao密碼為gao?? balance roundrobin????? ?# 負(fù)載均衡算法?? cookie SERVERID insert indirect?? option httpclose? ?? option forwardfor??? ?? option httpchk HEAD /welcome.htm HTTP/1.0 ??# 健康檢測(cè)IIS根目錄存放有#? weblocme.htm文件?# 下面是節(jié)點(diǎn)服務(wù)器server APP01 10.0.1.15:80 cookie app1inst1 check inter 2000 rise 2 fall 5?9. 配置文件寫(xiě)好后就可以啟動(dòng)了。Ifcfg eth0 add 10.0.0.70/24? 為eth0 添加第二個(gè)IP地址./haproxy –f haproxy.cfg 即可啟動(dòng)程序.?用IE測(cè)試 http://sds.dms.com/welcome.htm ,不斷刷新是不會(huì)顯示其它APP服務(wù)器的welcome.htm頁(yè)面,需要我們關(guān)掉IE,再次訪問(wèn) http://sds.dms.com/welcome.htm即顯示另一臺(tái),如此反復(fù)即可看到每臺(tái)APP上的welcome.htm?? 用IE測(cè)試 http://help.sds.com 也能顯示10.0.0.15 上的幫助網(wǎng)站。?? 用IE輸入: http://sds.dms.com/haproxy 或 http://help.sds.com/haproxy 輸入用戶名:gao 密碼:gao即可看到haproxy的集群狀態(tài),如下圖?五 配置haproxy 隨Linux系統(tǒng)自啟動(dòng)配置1.建立一個(gè)haproxy 的shell文件,用于控制haproxy的啟動(dòng)與關(guān)閉Cd /etc/rc.d/init.dVi haproxy#!/bin/sh# description: Auto Start and Stop Haproxy Software# chkconfig: 2345 99 10?start (){cd /usr/share/haproxy./haproxy -f haproxy.cfg}?stop (){pid=`ps -ef | grep -v grep | grep haproxy | awk '{print $2}'`for ps in $piddo? kill -9 $psdone}??case $1 in? ?? start)??? start ;;?? stop)???? stop ;;??? *)?? echo "Use ./haproxy {start|stop}" ;;esac?exit 0?2. chmod 755 haproxy?3. 添加自啟動(dòng)功能,在/etc/rc.d/rc.local文件中添加如下內(nèi)容Vi /etc/rc.d/rc.localifcfg eth0 add 10.0.0.70/24? # 為 eth0 添加第2個(gè)IPcd /etc/rc.d/init.d./haproxy start???? ???????# 啟動(dòng)haproxy 程序??4. 操作haproxy 的相關(guān)命令cd /etc/rc.d/init.d./haproxy start???? # 啟動(dòng)haproxy./haproxy stop???? ?# 停止haproxy./haproxy restart?? # 重啟動(dòng)haproxy?
總結(jié)
以上是生活随笔為你收集整理的HAproxy - 铁钉 - 51CTO技术博客的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。