nginx概述
nginx是一款自由的、開源的、高性能的HTTP伺服器和反向代理伺服器;
同時也是一個IMAP、POP3、SMTP代理伺服器;
nginx可以作為一個HTTP伺服器進行網站的釋出處理,另外nginx可以作為反向代理進行負載均衡的實作。
回到頂部
nginx反向代理實作負載均衡
兩張圖了解其中的業務流程
首先上網查資料nginx相關原理,文字性描述感覺很無聊,于是自己總結兩張對比圖,如下:
1、一般情況下(未使用nginx伺服器叢集流程):
圖1:未使用伺服器叢集
2、使用nginx伺服器叢集後流程【注:本圖以一級nginx伺服器為例】:
圖2:未使用伺服器叢集
根據這兩張圖對比,不難得出以下結論:
利用nginx管理起IIS伺服器後:
- 可靠性大大增強:一台或多台IIS伺服器當機,服務不中斷!細心的讀者發現如果nginx伺服器當機呢?當然可以通過配置多個及多級nginx伺服器來解決。
- 處理大通路量時大大減小IIS伺服器壓力,提高通路速度。
- 消耗硬體資源多:多增加一台伺服器(在資料量不大的時候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