1.初始 Nginx
1.初始 Nginx
@
先看 2 個實際需求,引出 Nginx
需求 1: 訪問不同微服務
示意圖:

需求 2: 輪詢訪問服務
示意圖:

解決方案: Nginx:
- 反向代理:
- 負載均衡:
- 動靜分離:

-
高可用集群:
Nginx 在分布式微服務架構的位置

1. Nginx 的概述
Nginx 是什么?能做什么?
- 是什么: Nginx 是("engine x") 是一個高性能的 HTTP 和反向代理 Web 服務器
- 能做什么: 反向代理,負載均衡,動靜分離,高可用集群
厲害之處: 高性能,高負載,有報告表明能支持高達 50,000 個并發連接數。
更多詳細說明:https://lnmp.org/nginx.html

官方地址:https://nginx.org/

官方使用文檔:https://nginx.org/en/docs/

2. Nginx 核心功能的詳細說明
2.1 正向代理
一句話:如果我們要訪問 www.google.com 但是直接訪問不到,則需要通過代理服 務器來訪問,這種代理服務就稱為正向代理

圖解說明:
我們知道 www.google.com , 但是訪問不到,所以使用代理服務器幫助我們即客戶端來上網 注意幫助的對象是客戶端 這種代理我們稱為 **正向代理. **
正向代理同時也隱藏了客戶端信息.
再次說明,正向代理幫助的是客戶端 因此可以把 客戶端+正向代理服務 , 視為一個整體,進行理解。
正向代理:是我們客戶端自己知道代理的服務對象是誰,同時客戶端自己可以
指定代理訪問的對象是誰。
2.2 反向代理
一句話:客戶端將請求發送到代理服務器,由代理服務器去選擇目標服務器獲取數據后,返回給客戶端,這種代理方式為反向代理 。

圖解說明:
- 項目設計者,不希望客戶端直接訪問目標 Web 服務器(比如:目標 Web 服務器是集群,如果直接訪問就會提供多個公網 IP),而是希望提供一個統一的訪問IP,這個是理解反向代理的前提 ,即為什么要反向代理。
- 反向代理幫助的對象是目標 Web 服務器 。
- 當客戶端請求達到反向代理服務后,由反向代理服務來決定如何訪問目標 Web 服務器(或者是哪個 Web 服務器),這個過程對客戶端是透明的。
- 反向代理服務會暴露公共的IP,只要能上網,就可以訪問,但是對于反向代理服務器管理的/代理的 Web 服務器通常是在局域網內,不能直接訪問,只能通過反向代理來訪問。
- 我們可以將 反向代理服務 + 反向代理服務代理的 Web 服務器視為一個整體。
- 反向代理會屏蔽內網服務器(也就是他代理的服務)信息,并實現負載均衡訪問。
2.3 負載均衡
一句話:當客戶端向反向代理服務器(比如 Nginx)發出請求,如果 Nginx 代理了多個 WEB 服務器(集群),Nginx 會將請求/負載分發到不同的服務器,也就是負載均衡 。

2.4 動靜分離
一句話:為了加快網站的解析速度,可以把動態資源和靜態資源由不同的服務器來解析,降低單個服務器的壓力 。
傳統的項目資源部署:

動靜分離項目資源部署:

3. 最后:
“在這個最后的篇章中,我要表達我對每一位讀者的感激之情。你們的關注和回復是我創作的動力源泉,我從你們身上吸取了無盡的靈感與勇氣。我會將你們的鼓勵留在心底,繼續在其他的領域奮斗。感謝你們,我們總會在某個時刻再次相遇。”


浙公網安備 33010602011771號