摘要:模塊化體系的內部結構是由核心部分和一系列的功能模塊所組成。除此之外,應用相關的功能都是在一系列的功能模塊中完成。將各功能模塊組織成一條鏈,當有請求到達的時候,請求依次經過這條鏈上的部分或者全部模塊進行處理。
Nginx 是什么
Nginx 是一款輕量的(相比 Apache、Lighttpd 而言)、高性能的 HTTP 服務器,同時也可以用作反向代理、負載平衡器和 HTTP 緩存。Nginx 采用了模塊化、事件驅動的架構設計,使用了異步非阻塞的事件處理機制處理請求,使得在高負載下也能提供更可靠的性能。
Nginx 的內部結構是由核心部分和一系列的功能模塊所組成。Nginx Core 實現底層的通訊協議,為其他模塊構建了基本的運行時環境,并且構建了其他各模塊的協作基礎。除此之外,應用相關的功能都是在一系列的功能模塊中完成。
Nginx 將各功能模塊組織成一條鏈,當有請求到達的時候,請求依次經過這條鏈上的部分或者全部模塊進行處理。每個模塊實現特定的功能,例如,實現對請求解壓縮的模塊,實現與上游服務器(upstream模塊)進行通訊的模塊,實現與 FastCGI 服務進行通訊的模塊等等。
有兩個模塊比較特殊,他們居于 Nginx Core 和各功能模塊的中間,這兩個模塊就是 HTTP 模塊和 MAIL 模塊。它們用于處理與 HTTP 協議和 email 相關協議(SMTP/POP3/IMAP)有關的事件,并且確保這些事件能被以正確的順序來調用其他的一些功能模塊。功能模塊分類:
event module:搭建了獨立于操作系統的事件處理機制的框架,及提供了各具體事件的處理
phase handler:主要負責處理客戶端請求并產生待響應內容
output filter:主要是負責對輸出的內容進行處理,例如,對輸出的圖片的 URL 進行替換之類的工作
upstream:實現負載均衡的功能
load-balancer:實現負載均衡的功能,通過特定的算法,在眾多的后端服務器中,選擇一個服務器出來作為某個請求的轉發服務器
Nginx 進程模型Nginx 程序在啟動后,會以守護進程的方式在系統后臺中運行,后臺進程包含一個 master 進程和多個 worker 進程。
master 進程負責管理 Nginx 本身和其他 worker 進程,包含:接收來自外界的信號、向各 worker 進程發送信號、監控 worker 進程的運行狀態、當 worker 進程退出后(異常情況下),會自動重新啟動新的 worker 進程等。
worker 進程主要處理基本的網絡事件,多個 worker 進程之間是對等的,他們同等競爭來自客戶端的請求,各進程互相之間是獨立的。一個請求,完全由 worker 進程來處理,而且只在一個 worker 進程中處理。worker 進程的個數是可以設置的,一般我們會設置與機器 cpu 核數一致,這里面的原因與 Nginx 的進程模型以及事件處理模型是分不開的。
Nginx 的進程模型,可以由下圖來表示:
nginx -h —— Nginx 幫助命令
nginx -s stop —— 快速停止 Nginx
nginx -s quit —— 平滑停止 Nginx
nginx -s reload —— 重載配置文件(用新的配置文件啟動新 worker 進程,并平滑的關閉舊的 worker 進程)
nginx -t —— 檢測配置文件是否正確
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39854.html
摘要:配置信息主要分為六大部分全局設置事件設置服務器設置虛擬主機設置匹配設置反向代理設置。最大客戶端連接數由和決定作為服務器時,作為反向代理時,。參考文章服務器安裝及配置文件詳解的配置虛擬主機負載均衡和反向代理 這是 Nginx 學習總結的第二篇,上一篇介紹到了 Nginx 學習總結(1) —— 概述,這一篇會對 Nginx 的基本配置做一些總結。 Nginx 配置信息主要分為六大部分: m...
摘要:前言這里筑夢師是一名正在努力學習的開發工程師目前致力于全棧方向的學習希望可以和大家一起交流技術共同進步用簡書記錄下自己的學習歷程個人學習方法分享本文目錄更新說明目錄學習方法學習態度全棧開發學習路線很長知識拓展很長在這里收取很多人的建議以后決 前言 這里筑夢師,是一名正在努力學習的iOS開發工程師,目前致力于全棧方向的學習,希望可以和大家一起交流技術,共同進步,用簡書記錄下自己的學習歷程...
閱讀 1820·2021-11-23 09:51
閱讀 927·2021-10-08 10:05
閱讀 3421·2021-09-26 09:55
閱讀 1030·2021-09-22 15:21
閱讀 1626·2021-09-09 09:33
閱讀 1236·2019-08-30 15:56
閱讀 1275·2019-08-30 15:55
閱讀 958·2019-08-30 13:19