系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux系統(tǒng)配置HTTP負(fù)載均衡系統(tǒng)

Linux系統(tǒng)下如何配置HTTP負(fù)載均衡系統(tǒng)(2)

時(shí)間:2014-12-09 10:04:25 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪問(wèn): https://m.xitongzhijia.net/xtjc/20141208/32060.html 手機(jī)查看 評(píng)論

  下面是HAProxy統(tǒng)計(jì)數(shù)字的一個(gè)例子。

 Linux系統(tǒng)下如何配置HTTP負(fù)載均衡系統(tǒng)

 

  “balance roundrobin”這一行定義了我們將使用哪種類(lèi)型的負(fù)載均衡。在本教程中,我們將使用簡(jiǎn)單的輪叫調(diào)度算法,這對(duì)HTTP負(fù)載均衡來(lái)說(shuō)完全綽綽有余。HAProxy還提供了其他類(lèi)型的負(fù)載均衡:

  •leastconn:連接數(shù)最少的服務(wù)器優(yōu)先接收連接。

  •source:對(duì)源IP地址進(jìn)行哈希處理,用運(yùn)行中服務(wù)器的總權(quán)重除以哈希值,即可決定哪臺(tái)服務(wù)器將接收請(qǐng)求。

  •uri:URI的左邊部分(問(wèn)號(hào)前面)經(jīng)哈希處理,用運(yùn)行中服務(wù)器的總權(quán)重除以哈希值。所得結(jié)果決定哪臺(tái)服務(wù)器將接收請(qǐng)求。

  •url_param:變量中指定的URL參數(shù)將在每個(gè)HTTP GET請(qǐng)求的查詢(xún)串中進(jìn)行查詢(xún)。你基本上可以將使用蓄意制作的URL(crafted URL)的請(qǐng)求鎖定于特定的負(fù)載均衡節(jié)點(diǎn)。

  •hdr(name):HTTP頭《name》 將在每個(gè)HTTP請(qǐng)求中進(jìn)行查詢(xún),被定向到特定節(jié)點(diǎn)。

  “cookie LBN insert indirect nocache”這一行讓我們的負(fù)載均衡系統(tǒng)存儲(chǔ)持久性cookie,這讓我們得以準(zhǔn)確查明集群中的哪個(gè)節(jié)點(diǎn)用于某一個(gè)會(huì)話。這些節(jié)點(diǎn)cookie將與指定的名稱(chēng)一并存儲(chǔ)起來(lái)。在我們這個(gè)例子中,我使用了“LBN”,但你可以指定自己喜歡的任意名稱(chēng)。節(jié)點(diǎn)將為該cookie把字符串作為一個(gè)值而存儲(chǔ)起來(lái)。

  server web01 192.168.100.2:80 cookie node1 check server web02 192.168.100.3:80 cookie node2 check

  上述部分對(duì)網(wǎng)站服務(wù)器節(jié)點(diǎn)集群進(jìn)行了定義。每臺(tái)服務(wù)器都用內(nèi)部名稱(chēng)(比如web01和web02)、IP地址和獨(dú)特的cookie串來(lái)表示。cookie串可以定義為你需要的任何名稱(chēng)。我使用了簡(jiǎn)單的node1、node2 。。。 node(n)。

  啟動(dòng)HAProxy

  你完成了配置工作后,可以啟動(dòng)HAProxy,驗(yàn)證一切按預(yù)期運(yùn)行。

  在Centos/RHEL上啟動(dòng)HAProxy

  使用下列指令,讓HAProxy能夠在系統(tǒng)啟動(dòng)后啟動(dòng),并打開(kāi)它:

  # chkconfig haproxy on # service haproxy start

  當(dāng)然,別忘了啟用防火墻中的端口80,如下所示。

  CentOS/RHEL 7上的防火墻:

  # firewall­cmd ­­permanent ­­zone=public ­­add­port=80/tcp # firewall­cmd ­­reload

  CentOS/RHEL 6上的防火墻:

  把下面這一行添加到/etc/sysconfig/iptables中的這部分“:OUTPUT ACCEPT”:

  A INPUT ­m state ­­state NEW ­m tcp ­p tcp ­­dport 80 ­j ACCEPT

  然后重啟iptables:

  # service iptables restart

  在Debian上啟動(dòng)HAProxy

  使用下列指令啟動(dòng)HAProxy:

  # service haproxy start

  別忘了啟用防火墻中的端口80,為此把下面這一行添加到/etc/iptables.up.rules:

  A INPUT ­p tcp ­­dport 80 ­j ACCEPT

  在Ubuntu上啟動(dòng)HAProxy

  讓HAProxy能夠在系統(tǒng)啟動(dòng)后啟動(dòng),只要在/etc/default/haproxy中將“ENABLED”選項(xiàng)設(shè)為“1”:

  ENABLED=1

  啟動(dòng)HAProxy:

  # service haproxy start

  然后啟用防火墻中的端口80:

  # ufw allow 80

  測(cè)試HAProxy

  為了檢查HAproxy是否在正常工作,我們可以執(zhí)行下列步驟:

  首先,用下列內(nèi)容準(zhǔn)備好test.php文件:

  《?php header(‘Content-Type: text/plain’); echo “Server IP: ”。

  該P(yáng)HP文件將告訴我們哪臺(tái)服務(wù)器(即負(fù)載均衡系統(tǒng))轉(zhuǎn)發(fā)請(qǐng)求,哪臺(tái)后端網(wǎng)站服務(wù)器實(shí)際處理請(qǐng)求。

  把該P(yáng)HP文件放到這兩臺(tái)后端網(wǎng)站服務(wù)器的根目錄下,F(xiàn)在,使用curl命令,從負(fù)載均衡系統(tǒng)(192.168.100.4)提取這個(gè)PHP文件。

  # chkconfig haproxy on # service haproxy start nbsp;curl https://192.168.100.4/test.php

  我們多次運(yùn)行這個(gè)命令時(shí),應(yīng)該會(huì)看到下面兩個(gè)輸出交替出現(xiàn)(由于輪叫調(diào)度算法)。

  Server IP: 192.168.100.2

  X-Forwarded-for: 192.168.100.4

  Server IP: 192.168.100.3

  X-Forwarded-for: 192.168.100.4

  如果我們停止這兩臺(tái)后端網(wǎng)站服務(wù)器中的其中一臺(tái),curl命令應(yīng)該仍會(huì)執(zhí)行,將請(qǐng)求定向到另一臺(tái)可用的網(wǎng)站服務(wù)器。

  結(jié)束語(yǔ)

  至此,你應(yīng)該有了一套完全實(shí)用的負(fù)載均衡系統(tǒng),能夠在輪叫循環(huán)模式下為你的網(wǎng)站節(jié)點(diǎn)提供請(qǐng)求。與往常一樣,你可以隨意更改配置,讓它更適合自己的基礎(chǔ)設(shè)施。希望本教程幫助你讓自己的網(wǎng)站項(xiàng)目具有更強(qiáng)的抗壓力和更高的可用性。

  正如大家已經(jīng)注意到的那樣,本教程所含的設(shè)置適用于僅僅一套負(fù)載均衡系統(tǒng)。這意味著,我們把一個(gè)單一故障點(diǎn)換成了另一個(gè)單一故障點(diǎn)。在實(shí)際場(chǎng)景下,你應(yīng)該部署至少兩套或三套負(fù)載均衡系統(tǒng),以防范可能出現(xiàn)的任何故障,但這不在本教程的討論范圍之內(nèi)。

  上面就是Linux系統(tǒng)下配置HTTP負(fù)載均衡系統(tǒng)的方法介紹了,這里主要使用的是HAProxy,且只介紹了配置一套負(fù)載均衡系統(tǒng)的方法,趕緊試試看吧。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言?xún)H代表用戶(hù)個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄