天天看點

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

作者:運維老男孩

nginx概述

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

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

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

回到頂部

nginx反向代理實作負載均衡

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

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

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

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

            圖1:未使用伺服器叢集

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

10分鐘學會在iis搭建伺服器叢集實作負載均衡和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>           

釋出後通路其中一個顯示如下内容

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

下載下傳nginx

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

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

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

配置nginx

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

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

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

更改配置檔案

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

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

啟動nginx

1、啟動指令

start nginx           

2、重新載入Nginx

nginx.exe -s reload           

進入nginx裡面的cong檔案夾位置,輸入cmd回車

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

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

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

配置如下:

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

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

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

nginx代理轉發(反向代理)

正向代理

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

用戶端向代理發送一個請求并指定目标(原始伺服器),然後代理向原始伺服器轉交請求并将獲得的内容傳回給用戶端。

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

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

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

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

            圖:正向代理

反向代理

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

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

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

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

           圖:反向代理

示例

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

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

重新加載nginx,運作本地位址+配置的監聽端口,如下:

10分鐘學會在iis搭建伺服器叢集實作負載均衡和nginx代理轉發
原文位址:https://www.cnblogs.com/xiongze520/p/15210737.html

繼續閱讀