nginx基本原理

2021-10-01 02:18:23 字數 1443 閱讀 6021

反向**,就是將多台伺服器**成一台伺服器

反向**的作用

a.保護內網安全

b.負載均衡

c.快取,減少伺服器壓力

那麼什麼是負載均衡呢?

負載均衡就是我們的專案部署到不同的伺服器上,但是通過統一的網域名稱進入,nginx則對請求進行分發,減輕伺服器的壓力,提高伺服器的吞吐量。

另外 nginx還可以作用靜態檔案的快取伺服器,提高訪問速度。(動靜分離)

2:nginx模組

nginx是由核心和模組組成,核心就是通過查詢配置檔案,將客戶端的請求對映到乙個location,在location中所配置的每個指令將會啟動不同的模組。

模組從結構上分分為核心模組,基礎模組,和第三方模組

–核心模組:http模組 ·event模組和mail模組

–基礎模組: http access模組·http fastcgi模組·http proxy模組和http rewrite模組

–第三方模組:http upstream request hash模組·notice模組和http access key模組

nginx的模組從功能上也可分為三類

–handlers(處理器模組)。此類模組直接處理請求,並進行輸出內容和修改headers資訊等操作。handlers處理器模組一般只能有乙個。

–filters (過濾器模組)。此類模組主要對其他處理器模組輸出的內容進行修改操作,最後由nginx輸出。

–proxies (**類模組)。此類模組是nginx的http upstream之類的模組,這些模組主要與後端一些服務比如fastcgi等進行互動,實現服務**和負載均衡等功能。

handlers(處理器模組)。此類模組直接處理請求,並進行輸出內容和修改headers資訊等操作。handlers處理器模組一般只能有乙個。

filters (過濾器模組)。此類模組主要對其他處理器模組輸出的內容進行修改操作,最後由nginx輸出。

proxies (**類模組)。此類模組是nginx的http upstream之類的模組,這些模組主要與後端一些服務比如fastcgi等進行互動,實現服務**和負載均衡等功能。

nginx本身做的工作實際很少,當它接到乙個http請求時,它僅僅是通過查詢配置檔案將此次請求對映到乙個location block,而此location中所配置的各個指令則會啟動不同的模組去完成工作,因此模組可以看做nginx真正的勞動工作者。通常乙個location中的指令會涉及乙個handler模組和多個filter模組(當然,多個location可以復用同乙個模組)。handler模組負責處理請求,完成響應內容的生成,而filter模組對響應內容進行處理。

nginx的模組直接被編譯進nginx,因此屬於靜態編譯方式。啟動nginx後,nginx的模組被自動載入,不像apache,首先將模組編譯為乙個so檔案,然後在配置檔案中指定是否進行載入。在解析配置檔案時,nginx的每個模組都有可能去處理某個請求,但是同乙個處理請求只能由乙個模組來完成。

mysql的基本原理 Mysql 基本原理

mysql 基本原理 mysql是一種關聯式資料庫管理系統,關聯式資料庫將資料儲存在不同的表中,而不是將所有資料放在乙個大倉庫內,這樣就增加了速度並提高了靈活性 ysql是資料庫登入命令 uroot預設超級使用者登入 p 預設沒密碼 中寫密碼 mysqladmin uroot password 12...

8 2 1 基本原理

乙個舞台動畫物件在包含許多舞台資訊 出現在何處,佔多大面積,處在什麼角度,是否可見 這些資訊分別儲存在動畫物件的屬性中。在 中讀取這些屬性可以了解物件的位置 大小 角度等狀態資訊 修改這些屬性可以改變物件的位置 大小 角度等狀態。如果從資料的角度去理解,動畫就是在固定時間間隔點不斷修改動畫物件某項屬...

Csocket基本原理

我通過幾個採用 csocket 類編寫並基於 client server 客戶端 服務端 的網路聊天和傳輸檔案的程式 在除錯這些程式的過程中,追蹤深入至 csocket 類核心原始碼 sockcore.cpp 對於csocket 類的執行機制可謂是一覽無遺,並且對於阻塞和非阻塞方式下的 socket...