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

在龍門等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都網(wǎng)站制作 網(wǎng)站設(shè)計制作定制網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷,外貿(mào)網(wǎng)站制作,龍門網(wǎng)站建設(shè)費用合理。
Nginx 提供了 Web 服務(wù)器的基礎(chǔ)功能,同時提供了 Web 服務(wù)反向代理,Email 服務(wù)反向代理功能。Nginx core實現(xiàn)了底層的通訊協(xié)議,為其他模塊和 Nginx 進程構(gòu)建了基本的運行時環(huán)境,并且構(gòu)建了其他各模塊的協(xié)作基礎(chǔ)。除此之外,或者說大部分與協(xié)議相關(guān)的,或者應(yīng)用相關(guān)的功能都是在這些模塊中所實現(xiàn)的。
模塊概述
Nginx 將各功能模塊組織成一條鏈,當有請求到達的時候,請求依次經(jīng)過這條鏈上的部分或者全部模塊,進行處理。每個模塊實現(xiàn)特定的功能。例如,實現(xiàn)對請求解壓縮的模塊,實現(xiàn) SSI 的模塊,實現(xiàn)與上游服務(wù)器進行通訊的模塊,實現(xiàn)與 FastCGI 服務(wù)進行通訊的模塊。
有兩個模塊比較特殊,他們居于 Nginx core 和各功能模塊的中間。這兩個模塊就是 http 模塊和 mail 模塊。這 2 個模塊在 Nginx core 之上實現(xiàn)了另外一層抽象,處理與 HTTP 協(xié)議和 Email 相關(guān)協(xié)議(SMTP/POP3/IMAP)有關(guān)的事件,并且確保這些事件能被以正確的順序調(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)生待響應(yīng)內(nèi)容,比如 ngx_http_static_module 模塊,負責客戶端的靜態(tài)頁面請求處理并將對應(yīng)的磁盤文件準備為響應(yīng)內(nèi)容輸出。
-
output filter: 也稱為 filter 模塊,主要是負責對輸出的內(nèi)容進行處理,可以對輸出進行修改。例如,可以實現(xiàn)對輸出的所有 html 頁面增加預(yù)定義的 footbar 一類的工作,或者對輸出的圖片的 URL 進行替換之類的工作。
-
upstream: upstream 模塊實現(xiàn)反向代理的功能,將真正的請求轉(zhuǎn)發(fā)到后端服務(wù)器上,并從后端服務(wù)器上讀取響應(yīng),發(fā)回客戶端。upstream 模塊是一種特殊的 handler,只不過響應(yīng)內(nèi)容不是真正由自己產(chǎn)生的,而是從后端服務(wù)器上讀取的。
- load-balancer: 負載均衡模塊,實現(xiàn)特定的算法,在眾多的后端服務(wù)器中,選擇一個服務(wù)器出來作為某個請求的轉(zhuǎn)發(fā)服務(wù)器。
文章名稱:創(chuàng)新互聯(lián)nginx教程:Nginx的模塊化體系結(jié)構(gòu)
網(wǎng)站鏈接:http://www.dlmjj.cn/article/cdsscjd.html


咨詢
建站咨詢
