91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nginx服務模塊詳解

發布時間:2020-07-05 01:10:27 來源:網絡 閱讀:853 作者:wx5d2c2d660c282 欄目:系統運維

Nginx 工作原理

Nginx 由內核和模塊組成

Nginx 本身做的工作實際很少,當它接到一個 HTTP 請求時, 它僅僅是通過查找配置文件將此次請求映射到一個 location block,而此 location 中所配 置的各個指令則會啟動不同的模塊去完成工作,因此模塊可以看做 Nginx 真正的勞動工作者。

通常一個 location 中的指令會涉及一個 handler 模塊和多個 filter 模塊(當然,多個 location 可以復用同一個模塊)。handler 模塊負責處理請求,完成響應內容的生成,而 filter 模塊對響應內容進行處理。 用戶根據自己的需要所開發的模塊都屬于第三方模塊。正是有了這么多模塊的支撐, Nginx 的功能才會如此強大。

Nginx 的模塊從結構上分為核心模塊、基礎模塊和第三方模塊:

?

核心模塊:

HTTP 模塊、EVENT 模塊和 MAIL 模塊; ?

基礎模塊:

HTTP Access 模塊、HTTP FastCGI 模塊、HTTP Proxy 模塊和 HTTP Rewrite 模塊;

第三方模塊:

HTTP Upstream Request Hash 模塊、Notice 模塊和 HTTP Access Key 模 塊。
?

Nginx 的模塊從功能上分為如下三類: ?

Handlers(處理器模塊):此類模塊直接處理請求,并進行輸出內容和修改 headers 信息等操作。Handlers 處理器模塊一般只能有一個; ?
Filters(過濾器模塊):此類模塊主要對其他處理器模塊輸出的內容進行修改操作,最后由 Nginx 輸出;
Proxies(代理類模塊):此類模塊是 Nginx 的 HTTP Upstream 之類的模塊,這些模塊主要與后端一些服務比如 FastCGI 等進行交互,實現服務代理和負載均衡等功能。

Nginx 的進程模型

在工作方式上,Nginx 分為單工作進程和多工作進程兩種模式。
?

單工作進程模式:

除主進程外,還有一個工作進程,工作進程是單線程的; ?

多工作進程模式:

每個工作進程包含多個線程。Nginx 默認為單工作進程模式。

Nginx 在啟動后,會有一個 master 進程和多個 worker 進程。

master 進程

  • 主要用來管理 worker 進程
  • 主要包含:接收來自外界的信號,向各 worker 進程發送信號,監控 worker 進程的運行狀態,當 worker 進程退出后(異常情況下),會自動 重新啟動新的 worker 進程。

    master 進程

  • 充當整個進程組與用戶的交互接口,同時對進程進行監護。
  • 它不需要處理網絡事件,不負責業務的執行,只會通過管理worker 進程來實現重啟服務、平滑升級、更換日志文件、配置文件實時生效等功能。

Nginx+FastCGI運行原理

  • Nginx 不支持對外部程序的直接調用或者解析,所有的外部程序(包括 PHP)必須通過FastCGI 接口來調用。
  • FastCGI 接口在 Linux 下是 socket(這個 socket 可以是文件 socket, 也可以是 ip socket)。
  • wrapper 為了調用 CGI 程序,還需要一個 FastCGI 的 wrapper(wrapper 可以理解為用于啟動另一個程序的程序),這個 wrapper 綁定在某個固定 socket 上,如端口或者文件 socket。
  • 當 Nginx 將 CGI 請求發送給這個 socket 的時候,通過 FastCGI 接口,wrapper 接收到請求,然后 Fork(派生)出一個新的線程,這個線程調用解釋器或者外部程序處理腳本并讀取返回數據;接著 wrapper 再將返回的數據通過 FastCGI 接口,沿著固定的 socket傳遞給 Nginx;最后 Nginx 將返回的數據(html 頁面或者圖片)發送給客戶端。

Nginx服務模塊詳解

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涟源市| 连城县| 扎赉特旗| 南丹县| 白水县| 温州市| 万安县| 集贤县| 吕梁市| 溧水县| 昆山市| 板桥市| 兴城市| 安远县| 新巴尔虎右旗| 宁蒗| 河南省| 城固县| 巴彦县| 尉犁县| 青冈县| 徐汇区| 通城县| 灵川县| 隆德县| 科技| 方山县| 孝昌县| 高唐县| 新丰县| 咸宁市| 红原县| 元谋县| 彭州市| 资溪县| 曲阜市| 石嘴山市| 拉孜县| 白银市| 云林县| 甘孜县|