×

Nginx五大功能模塊

  • 作者:新網(wǎng)
  • 來源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-15 15:09:11

我們都知道Nginx內(nèi)部由核心模塊和其他功能模塊組成,這種簡單的結(jié)構(gòu)分層便于進行功能的擴展,代碼更加清晰易于維護。我們通常將其分為五大模塊:核心模塊,標準HTTP模塊,可選HTTP模塊,郵件服務(wù)模塊和第三方模塊。下面我們就一一為大家介紹一下。

 我們都知道Nginx內(nèi)部由核心模塊和其他功能模塊組成,這種簡單的結(jié)構(gòu)分層便于進行功能的擴展,代碼更加清晰易于維護。我們通常將其分為五大模塊:核心模塊,標準HTTP模塊,可選HTTP模塊,郵件服務(wù)模塊和第三方模塊。下面我們就一一為大家介紹一下。

 
timg.jpg
核心模塊
 
核心模塊是程序運行所不可或缺的,它為Nginx提供了最基本的服務(wù)功能,比如權(quán)限控制、進程管理、日志操作等。
 
標準HTTP模塊
 
作為HTTP服務(wù)器必須的標準功能模塊,包括對HTTP的訪問控制、基本認證、URL重寫、負載均衡等。
 
可選HTTP模塊
 
用于擴展標準的HTTP功能,比如常見的SSL加密、GeoIP、FLV處理。
 
郵件服務(wù)模塊
 
實現(xiàn)了郵件服務(wù)器的代理功能,包含imap、pop3、smtp3種郵件協(xié)議的支持。
 
第三方模塊
 
這個無須解釋了吧,正是因為有了這功能才令Nginx顯得異常強大。
 
架構(gòu)一覽
 
Nginx是基于事件驅(qū)動模型設(shè)計的,進程能夠同時處理多個并發(fā)請求。它采用Master-Worker工作模式,啟動過程如下:啟動后會創(chuàng)建一個主進程,主進程負責監(jiān)聽外部請求,并將請求派發(fā)給Worker進程處理,Worker進程會將請求通過代理轉(zhuǎn)發(fā)到后端服務(wù)器,由后端服務(wù)器進行處理。
 
Master進程
 
也叫監(jiān)控進程,主要監(jiān)聽外部請求和管理Worker子進程,還有負責更換日志文件、配置讀取、平滑升級等。
 
Worker進程
 
也叫工作進程,負責與后端服務(wù)器通信,接收處理結(jié)果,Cache和響應(yīng)客戶端請求。
 
請求處理
 
Nginx通常作為Web服務(wù)器使用,與客戶端存在一對多的關(guān)系,這就要求它必須能夠同時為多個客戶端提供服務(wù)。那么Nginx處理請求的過程如何呢?
 
Nginx采用多進程機制(Master-Worker)和異步機制,每個Worker進程都使用異步非阻塞方式,可以同時處理多個請求。當某個Worker進程接收請求之后,調(diào)用IO進行處理,如果不能立即得到結(jié)果,就去優(yōu)先處理其他的請求;而客戶端在此期間也不用等待響應(yīng)結(jié)果,能夠去處理其他操作;當結(jié)果返回時,就會通知這個Worker進程,然后進行響應(yīng)。
 
以上就是我們關(guān)于五大模塊的簡單介紹,希望對大家有所幫助。
 

免責聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費咨詢獲取折扣

Loading