Nginx的工作模式和模組型別

2021-09-23 17:08:41 字數 765 閱讀 3880

它與前面對應的httpd的prefork、worker、event相比較而言,它的模式就是:

非阻塞、事件驅動、由乙個master程序生成多個worker執行緒,每個worker響應n個請求。

所以如果作為web伺服器而言,他總體能夠支援的響應併發數等於worker * n;如果生成了10個worker,每個worker能響應1萬個,那一共就可以響應10萬個。當然了,nginx沒有這麼大的能力,因為每乙個請求或連線進來我們都得給它乙個套接字,因此套接字所謂tcp來講最大數量埠也只有65535個,在考慮到其它服務在用,它系統在保留一些,所以能使用5萬個就不錯了。因此nginx沒準在有些極端場景中,據說有人曾經使用nginx最大支援單機併發達到5.2萬個。雖然這是理論值,但是國內有人讓它很輕鬆支援3萬個是沒問題的。再多就有困難了。

不過還有特別強調的是,在反代模型下,有可能會更少。

nginx剛才說過它是模組化的,因此有眾多模組,那模組型別有哪些呢?無非就這樣幾個:(在官方文件中是這麼分類的)

核心模組

standard http modules(標準的http協議模組)

optional http modules(可選的http協議模組)

mail modules

3rd party modules

注意,前四種模組nginx都自帶,第五種模組,也就是所謂的第三方模組我們需要在編譯nginx的時候自己手動指定模組在何處,自己手動指明模組檔案。而後在編譯時才能把它編譯成nginx的組成部分。

Nginx 模組的工作原理

nginx 模組的工作原理 handlers 處理器模組 此模組直接處理請求 並且進行內容傳輸以及修改headres資訊等操作。handlers模組只能處理乙個。filters 處理器模組 此類模組只需要對其他伺服器模組輸出的內容進行修改操做,最後又nginx操做 proxies 模組 此模組是ng...

ROS的工作模式和ESXI網絡卡工作模式的關係

1 ros網絡卡如果工作在橋接模式,那麼esxi網絡卡的工作模式必須設定為promiscuous mode 混雜模式 和forged transmits 偽傳輸 這兩個必須都為開啟狀態,如下 這種情況,還有一種情況的應用,就是如果交換機埠匯聚到乙個虛擬機器的埠組,那麼這個埠組也必須開啟混雜模式和偽傳...

nginx的模組開發

nginx剛剛在國內開始流行的時候,我就把它引入公司技術體系,用來替代apache主要做動靜分離。nginx的併發處理能力和穩定性,以及優秀的軟體架構深深得吸引了我,讓我跨入了高效能伺服器開發的大門。正巧當時要基於flash技術開發一套 系統,而且要支援 環境,而當時並沒有什麼好的辦法讓flash通...