Nginx技術總結之一 Nginx模組與工作原理

2021-10-08 04:54:47 字數 805 閱讀 3392

nginx 由核心模組組成。其中,核心的設計非常微小和簡潔,完成的工作也非常簡單,僅僅通過查詢配置檔案將客戶端請求對映到乙個 location block(location 是 nginx 配置中的乙個指令,用於 url 匹配),而在這個 location 中所配置的每個指令,將會啟動不同的模組去完成相應的工作。

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

nginx 的模組從功能上分為如下三類:

下圖展示了 nginx 模組常規的 http 請求和響應的過程。

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

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

Nginx入門之一

對於nginx早已耳聞,也已看好好多人對此元件的誇讚,效能是如何如何的好 但是一直沒有去看這方面的資料。今天興致來了,就研究了一番,不過並沒有什麼測試資料,只是在本地跑通了而已,因為我家只有乙個電腦也沒有裝虛擬機器,所以就出來了下面的配置檔案。今天算是乙個入門,接下來會詳細了解一下。以下是我本地的n...

超越學XML DTD筆記技術總結(之一)

xml定義 xml extensible markup language 可擴充套件的標記語言,它是標準通用標記語言 standard generalized markup language,sgml 的乙個子集。w3c是全球資訊網聯盟 world wide web consortium w3c不是...

Nginx技術要點總結

nginx engine x 是目前使用最廣泛的web伺服器,同時也是常用的反向 伺服器。本文對nginx基礎功能做一些總結,希望自己加深理解的同時,對需要的朋友有所幫助。二.nginx的工作模式 nginx是乙個多程序 多執行緒高效能web伺服器,在linux系統中,nginx啟動後會以後臺守護程...