Nginx 的模組化體系結構

2021-08-04 16:18:56 字數 724 閱讀 7709

nginx 的內部結構是由核心部分和一系列的功能模組所組成。這樣劃分是為了使得每個模組的功能相對簡單,便於開發,同時也便於對系統進行功能擴充套件。為了便於描述,下文中我們將使用 nginx core 來稱呼 nginx 的核心功能部分。

nginx 提供了 web 伺服器的基礎功能,同時提供了 web 服務反向**,email 服務反向**功能。nginx core實現了底層的通訊協議,為其他模組和 nginx 程序構建了基本的執行時環境,並且構建了其他各模組的協作基礎。除此之外,或者說大部分與協議相關的,或者應用相關的功能都是在這些模組中所實現的。

nginx 將各功能模組組織成一條鏈,當有請求到達的時候,請求依次經過這條鏈上的部分或者全部模組,進行處理。每個模組實現特定的功能。例如,實現對請求解壓縮的模組,實現 ssi 的模組,實現與上游伺服器進行通訊的模組,實現與 fastcgi 服務進行通訊的模組。

有兩個模組比較特殊,他們居於 nginx core 和各功能模組的中間。這兩個模組就是 http 模組和 mail 模組。這 2 個模組在 nginx core 之上實現了另外一層抽象,處理與 http 協議和 email 相關協議(smtp/pop3/imap)有關的事件,並且確保這些事件能被以正確的順序呼叫其他的一些功能模組。

目前 http 協議是被實現在 http 模組中的,但是有可能將來被剝離到乙個單獨的模組中,以擴充套件 nginx 支援 spdy 協議。

nginx 的模組根據其功能基本上可以分為以下幾種型別:

**:

Nginx系列(二) 模組化

高度模組化的設計設 nginx 架構的基礎。在nginx 中,除了少量的核心 其它一切皆為模組。模組化設計具有下面特點 1 高度抽象的模組介面 2 靈活性 3 配置模組的設計使 nginx 提供了高可配置性 高可擴充套件性 高可定製性 高可伸縮性。4 核心模組介面簡單化 5 多層次 多類別的模組設計...

什麼是模組化?模組化的好處

1.高內聚低耦合,有利於團隊作戰,當專案很複雜的時候,將專案劃分為子模組分給不同的人開發,最後再組合在一起,這樣可以降低模組與模組之間的依賴關係體現低耦合,模組又有特定功能體現高內聚。2.可重用,方便維護,模組的特點就是有特定功能,當兩個專案都需要某種功能的時候,我們定義乙個特定的模組來實現該功能,...

什麼是模組化?模組化的好處

什麼是模組化?j a 應用架構設計 模組化模式與 osgi 一書中對它的定義是 模組化是一種處理複雜系統分解為更好的可管理模組的方式。所謂的模組化開發就是封裝細節,提供使用介面,彼此之間互不影響,每個模組都是實現某一特定的功能。模組化開發的基礎就是函式。模組化開發使 耦合度降低,模組化的意義在於最大...