生活随笔
收集整理的這篇文章主要介紹了
HAproxy - 铁钉 - 51CTO技术博客
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
HAproxy - 鐵釘 - 51CTO技術博客
HAproxy
2009-11-30 14:24:37
標簽:HAproxy 休閑 職場
原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nails.blog.51cto.com/640492/236878
HAPorxy 集群配置 ????????????????????????????????????????????????一? HAProxy 介紹??? ???反向代理服務器,支持雙機熱備支持虛擬主機,但其配置簡單,擁有非常不錯的服務器健康檢查功能,當其代理的后端服務器出現故障, HAProxy會自動將該服務器摘除,故障恢復后再自動將該服務器加入。有Web圖形化的界面,可以查看集群的狀態。?新的1.3版本后,引入了frontend,backend,frontend根據任意HTTP請求頭內容做規則匹配,然后把請求定向到相關的backend.??二? 網絡架構?? 一般采用的網絡結構(反向代理) ???????三? 配置實例??| 角色 | 操作系統 | IP地址及對應域名 | 服務端口 |
| 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.????? 訪問 dms.sds.com 時,自動分發到集群節點服務器10.0.1.10-15/24 這6臺服務器上。2.????? 訪問 help.sds.com 時,自動分發到服務器 10.0.1.15/24 上(該服務器上有幫助網站)。?四 配置步驟?1.????? 從 http://haproxy.1wt.eu 下載 HAproxy 最新穩定版2.????? 將下載的文件haproxy-1.3.15.1.tar.gz存放到Linux服務器/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 的內核是2.6,請先查看HAproxy 的README7.????? make install8.????? 安裝好后就可以配置了。9.????? vi haproxy.cfgglobal?????? maxconn 5120?????? chroot /usr/share/haproxy?? #? haproxy安裝目錄????? ?uid 99?????? gid 99?????? daemon?? ???quiet??????? # 通過nbproc多設置幾個haproxy并發進程,這樣每個進程的task_queue相對就會短很多,性能自然就能提高不少????? ?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? # 監聽IP及端口,域名是在Web界面顯示的標識??? mode http?? stats uri /haproxy ??# 監控haproxy狀態虛擬目錄?? stats realm Haproxy\statistics? ?stats auth gao:gao?? # 設置狀態監控的用戶名為gao密碼為gao?? balance roundrobin? ?# 負載均衡算法?? cookie SERVERID insert indirect?? option httpclose ?? option forwardfor? ?? option httpchk HEAD /welcome.htm HTTP/1.0 ??# 健康檢測 每一臺的IIS根目錄存放#? weblocme.htm文件# 下面是節點服務器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 ?# 監聽IP及端口,域名是在Web界面顯示的標識??? mode http?? stats uri /haproxy? ?????# 監控haproxy狀態虛擬目錄?? stats realm Haproxy\statistics?? stats auth gao:gao??? # 設置狀態監控的用戶名為gao密碼為gao?? balance roundrobin????? ?# 負載均衡算法?? cookie SERVERID insert indirect?? option httpclose? ?? option forwardfor??? ?? option httpchk HEAD /welcome.htm HTTP/1.0 ??# 健康檢測IIS根目錄存放有#? weblocme.htm文件?# 下面是節點服務器server APP01 10.0.1.15:80 cookie app1inst1 check inter 2000 rise 2 fall 5?9. 配置文件寫好后就可以啟動了。Ifcfg eth0 add 10.0.0.70/24? 為eth0 添加第二個IP地址./haproxy –f haproxy.cfg 即可啟動程序.?用IE測試 http://sds.dms.com/welcome.htm ,不斷刷新是不會顯示其它APP服務器的welcome.htm頁面,需要我們關掉IE,再次訪問 http://sds.dms.com/welcome.htm即顯示另一臺,如此反復即可看到每臺APP上的welcome.htm?? 用IE測試 http://help.sds.com 也能顯示10.0.0.15 上的幫助網站。?? 用IE輸入: http://sds.dms.com/haproxy 或 http://help.sds.com/haproxy 輸入用戶名:gao 密碼:gao即可看到haproxy的集群狀態,如下圖?五 配置haproxy 隨Linux系統自啟動配置1.建立一個haproxy 的shell文件,用于控制haproxy的啟動與關閉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. 添加自啟動功能,在/etc/rc.d/rc.local文件中添加如下內容Vi /etc/rc.d/rc.localifcfg eth0 add 10.0.0.70/24? # 為 eth0 添加第2個IPcd /etc/rc.d/init.d./haproxy start???? ???????# 啟動haproxy 程序??4. 操作haproxy 的相關命令cd /etc/rc.d/init.d./haproxy start???? # 啟動haproxy./haproxy stop???? ?# 停止haproxy./haproxy restart?? # 重啟動haproxy?
總結
以上是生活随笔為你收集整理的HAproxy - 铁钉 - 51CTO技术博客的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。