10分鐘學會windows中iis搭建伺服器叢集實現負載均衡和nginx代理轉發

學習中的苦與樂發表於2021-08-31

前言

我們之前聊過 10分鐘搭建伺服器叢集——Windows7系統中nginx與IIS伺服器搭建叢集實現負載均衡https://www.cnblogs.com/xiongze520/p/10308720.html

不怎麼理解的可以移步去簡單看一下。

 


 

nginx概述

nginx是一款自由的、開源的、高效能的HTTP伺服器和反向代理伺服器;

同時也是一個IMAP、POP3、SMTP代理伺服器;

nginx可以作為一個HTTP伺服器進行網站的釋出處理,另外nginx可以作為反向代理進行負載均衡的實現。


 

nginx反向代理實現負載均衡

兩張圖理解其中的業務流程

首先上網查資料nginx相關原理,文字性描述感覺很無聊,於是自己總結兩張對比圖,如下:

1、一般情況下(未使用nginx伺服器叢集流程):

            圖1:未使用伺服器叢集

 

 2、使用nginx伺服器叢集后流程【注:本圖以一級nginx伺服器為例】:

          圖2:未使用伺服器叢集

 

根據這兩張圖對比,不難得出以下結論:

       利用nginx管理起IIS伺服器後:

  1. 可靠性大大增強:一臺或多臺IIS伺服器當機,服務不中斷!細心的讀者發現如果nginx伺服器當機那?當然可以通過配置多個及多級nginx伺服器來解決。
  2. 處理大訪問量時大大減小IIS伺服器壓力,提高訪問速度。
  3. 消耗硬體資源多:多增加一臺伺服器(在資料量不大的時候nginx也可與IIS共用一臺伺服器)與N臺IIS伺服器!不過在硬體成本不斷降低以及高可靠性的今天,對於大訪問量網站,這個影響幾乎可以忽略不計。要不然也不會有這麼多的使用者比如國內的使用者:百度,新浪,網易,騰訊等。

 


 

建立釋出IIS

我們建立3個資料夾nginx、nginx1、nginx2,每個資料夾裡面建立一個index.html檔案,內容如下,然後釋出到iis訪問。

nginx資料夾index.html內容

<h1>
    我是nginx—— 叢集伺服器8020
</h1>

nginx1資料夾index.html內容

<h1>
    我是nginx—— 叢集伺服器8071
</h1>

nginx2資料夾index.html內容

<h1>
    我是nginx—— 叢集伺服器8072
</h1>

釋出後訪問其中一個顯示如下內容


 

下載nginx

我們去官網下載windows版本的nginx, 下載地址:http://nginx.org/en/download.html

這裡下載的是穩定版1.20.1,其他版本操作基本相同。

 

 

 


 

配置nginx

把剛剛下載的檔案解壓,整體拷貝到你自己指定的路徑去。

下載後解壓出來後目錄結構如下

更改配置檔案
進入conf檔案,找到nginx.conf檔案,更改配置,裡面的weight代表當前伺服器的權重,值越高使用率越高,如下

 

啟動nginx

1、啟動命令

start nginx

 

2、重新載入Nginx

nginx.exe -s reload

進入nginx裡面的cong資料夾位置,輸入cmd回車

 

 

 啟動後,如果修改了配置檔案的話需要執行 nginx.exe -s reload重新載入,

執行監聽伺服器

開啟瀏覽器,在位址列中輸入剛才在Nginx中設定的代理(這裡是192.168.0.5:8046,這是你自己配置的監聽伺服器)。

按F5重新整理(大家如果有興趣可以更改配置檔案中Weight中的比例來看效果,我這裡設定了1權重,也就是說平均分配)


 

nginx代理轉發(反向代理)

正向代理

正向代理,意思是一個位於客戶端和原始伺服器(origin server)之間的伺服器,為了從原始伺服器取得內容,

客戶端向代理髮送一個請求並指定目標(原始伺服器),然後代理向原始伺服器轉交請求並將獲得的內容返回給客戶端。

客戶端才能使用正向代理。

 

如:在如今的網路環境下,我們如果由於技術需要要去訪問國外的某些網站,此時你會發現位於國外的某網站我們通過瀏覽器是沒有辦法訪問的,

此時大家可能都會用一個操作FQ進行訪問,FQ的方式主要是找到一個可以訪問國外網站的代理伺服器,我們將請求傳送給代理伺服器,代理伺服器去訪問國外的網站,然後將訪問到的資料傳遞給我們!

 

 

            圖:正向代理

反向代理

反向代理伺服器位於使用者與目標伺服器之間,但是對於使用者而言,反向代理伺服器就相當於目標伺服器,即使用者直接訪問反向代理伺服器就可以獲得目標伺服器的資源。

同時,使用者不需要知道目標伺服器的地址,也無須在使用者端作任何設定。

反向代理伺服器通常可用來作為Web加速,即使用反向代理作為Web伺服器的前置機來降低網路和伺服器的負載,提高訪問效率。

 

 

 

           圖:反向代理

 

示例

訪問本地的指定路徑反向代理轉發到部落格園地址

配置如下:

 重新載入nginx,執行本地地址+配置的監聽埠,如下:

 

 
歡迎關注訂閱微信公眾號【熊澤有話說】,更多好玩易學知識等你來取
作者:熊澤-學習中的苦與樂
公眾號:熊澤有話說
出處: https://www.cnblogs.com/xiongze520/p/15210737.html
創作不易,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置註明作者和原文連結。  

 

 

 

 

相關文章