天天看點

Nginx反向代理與負載均衡

叢集

叢集就是指一組或若幹個互相獨立的計算機,利用高速通信網絡組成的一個較大的計算機服務系統,每個叢集節點(即叢集中的每台計算機)都是運作各自服務的獨立伺服器。叢集給使用者的感覺就是一台伺服器,而實際使用者請求的是一組叢集伺服器。

負載均衡叢集可以把許多客戶集中的通路請求負載壓力盡可能平均地分攤在計算機叢集中處理。這樣的系統非常适合使用同一組應用程式為大量使用者提供服務的模式,每個節點都可以承擔一定的通路請求負載壓力,并且可以實作通路請求在各節點之間動态配置設定,以實作負載均衡。

負載均衡典型的開源軟體包括:LVS、Nginx、Haproxy。

比如:當請求到圖檔檔案時,可以配置Nginx為代理伺服器,圖檔實際真實存放在Apache伺服器中,在Nginx伺服器上隻需要進行配置Apache伺服器的位址就行可以了。

由于部落客硬體資源有限,隻有一台租借的機器,我們就在這一台機器上實作Nginx的負載均衡,沒錯,你沒有看錯,我就是要在一台機器上搭建Nginx負載均衡器,兩台web伺服器。

這個不用說了,可以去看我的文章,編譯LNMP環境

下面的配置是關于配置負載均衡器的,我們有兩台伺服器節點,雖然是一台機器,但是基于不同端口的web伺服器節點。

(1)配置<code>123.206.176.159:8080</code>節點

(2)配置<code>123.206.176.159:8081</code>節點

看到這裡,有同學應該會覺得為什麼會建立4個項目,test1,test2,test3,test4,難道不是隻應該建立2個項目嗎?由于我這裡是在一台Nginx伺服器上進行的實驗,是以為了實驗結果不同,我建立了4個項目,分别在4個項目中建立了<code>index.html</code>,内容如下:

記住這裡對應的應該是負載均衡伺服器的IP位址,不是web伺服器的IP位址哦,雖然我這裡web伺服器的IP位址和負載均衡器的IP位址相同。

Nginx反向代理與負載均衡

可以很容易的看出來,當我第一次通路<code>test1.com</code>的時候,端口可能是8080,當我們第二次請求的時候,端口為8081,負載均衡伺服器預設采用輪詢機制,然後我們配置設定的權重是1:1,是以一次請求是8080,另一次請求就是8081,然後一直重複下去。同理,當我們請求<code>test2.com</code>是一樣的。

網絡上志同道合,我們一起學習網絡安全,一起進步,QQ群:694839022