在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ Nginx 的模塊化體系結(jié)構
示例: hello handler 模塊
什么是 Nginx
handler 模塊的掛載
Nginx 特點
handler 模塊簡介
初探 Nginx 架構
Nginx 的模塊化體系結(jié)構
更多 handler 模塊示例分析
Nginx 基礎概念
upstream 模塊簡介
Nginx 的請求處理
過濾模塊簡介
基本數(shù)據(jù)結(jié)構
模塊的基本結(jié)構
負載均衡模塊
過濾模塊的分析
core 模塊
handler 模塊的基本結(jié)構
Nginx 的配置系統(tǒng)
handler 的編寫步驟
handler 模塊的編譯和使用
event 模塊

Nginx 的模塊化體系結(jié)構

Nginx 的內(nèi)部結(jié)構是由核心部分和一系列的功能模塊所組成。這樣劃分是為了使得每個模塊的功能相對簡單,便于開發(fā),同時也便于對系統(tǒng)進行功能擴展。為了便于描述,下文中我們將使用 Nginx core 來稱呼 Nginx 的核心功能部分。

Nginx 提供了 Web 服務器的基礎功能,同時提供了 Web 服務反向代理,Email 服務反向代理功能。Nginx core實現(xiàn)了底層的通訊協(xié)議,為其他模塊和 Nginx 進程構建了基本的運行時環(huán)境,并且構建了其他各模塊的協(xié)作基礎。除此之外,或者說大部分與協(xié)議相關的,或者應用相關的功能都是在這些模塊中所實現(xiàn)的。

模塊概述

Nginx 將各功能模塊組織成一條鏈,當有請求到達的時候,請求依次經(jīng)過這條鏈上的部分或者全部模塊,進行處理。每個模塊實現(xiàn)特定的功能。例如,實現(xiàn)對請求解壓縮的模塊,實現(xiàn) SSI 的模塊,實現(xiàn)與上游服務器進行通訊的模塊,實現(xiàn)與 FastCGI 服務進行通訊的模塊。

有兩個模塊比較特殊,他們居于 Nginx core 和各功能模塊的中間。這兩個模塊就是 http 模塊和 mail 模塊。這 2 個模塊在 Nginx core 之上實現(xiàn)了另外一層抽象,處理與 HTTP 協(xié)議和 Email 相關協(xié)議(SMTP/POP3/IMAP)有關的事件,并且確保這些事件能被以正確的順序調(diào)用其他的一些功能模塊。

目前 HTTP 協(xié)議是被實現(xiàn)在 http 模塊中的,但是有可能將來被剝離到一個單獨的模塊中,以擴展 Nginx 支持 SPDY 協(xié)議。

模塊的分類

Nginx 的模塊根據(jù)其功能基本上可以分為以下幾種類型:

  • event module: 搭建了獨立于操作系統(tǒng)的事件處理機制的框架,及提供了各具體事件的處理。包括 ngx_events_module, ngx_event_core_module和ngx_epoll_module 等。Nginx 具體使用何種事件處理模塊,這依賴于具體的操作系統(tǒng)和編譯選項。

  • phase handler: 此類型的模塊也被直接稱為 handler 模塊。主要負責處理客戶端請求并產(chǎn)生待響應內(nèi)容,比如 ngx_http_static_module 模塊,負責客戶端的靜態(tài)頁面請求處理并將對應的磁盤文件準備為響應內(nèi)容輸出。

  • output filter: 也稱為 filter 模塊,主要是負責對輸出的內(nèi)容進行處理,可以對輸出進行修改。例如,可以實現(xiàn)對輸出的所有 html 頁面增加預定義的 footbar 一類的工作,或者對輸出的圖片的 URL 進行替換之類的工作。

  • upstream: upstream 模塊實現(xiàn)反向代理的功能,將真正的請求轉(zhuǎn)發(fā)到后端服務器上,并從后端服務器上讀取響應,發(fā)回客戶端。upstream 模塊是一種特殊的 handler,只不過響應內(nèi)容不是真正由自己產(chǎn)生的,而是從后端服務器上讀取的。

  • load-balancer: 負載均衡模塊,實現(xiàn)特定的算法,在眾多的后端服務器中,選擇一個服務器出來作為某個請求的轉(zhuǎn)發(fā)服務器。
上一篇:負載均衡模塊下一篇:過濾模塊簡介