買這商品的人也買了...
-
$505深入理解 Nginx:模組開發與架構解析, 2/e -
$454分佈式服務架構:原理、設計與實戰 -
精通 Nginx, 2/e ( Mastering NGINX, 2/e)$354$336 -
為你自己學 Git$500$390 -
從零開始學架構:照著做,你也能成為架構師$594$564 -
FFmpeg 從入門到精通$414$393 -
直播系統開發 : 基於 Nginx 與 Nginx-rtmp-module$414$393 -
語音信號處理, 3/e$534$507 -
Docker 專業養成 ─ 活用基礎與實踐技能 (暢銷回饋版)$450$351 -
你也能做出 Google:用 Elasticsearch 搭建叢集搜索引擎$780$616 -
Nginx 應用與運維實戰$654$621 -
C++ 新經典:Linux C++ 通信架構實戰$594$564 -
$559嵌入式 C語言自我修養 — 從芯片、編譯器到操作系統 -
Verilog HDL 數字系統設計與驗證 — 以太網交換機案例分析$354$336 -
資料庫解剖學:從內部深解 MySQL 運作原理$880$695 -
網路封包大剖析:HTTP 介面自動化測試原理$720$569 -
大師養成起手式:從核心真正了解 Linux 運作原理$880$695 -
Nginx 高性能 Web 服務器應用與實戰 (微課版)$359$341 -
複雜架構極簡化:領域驅動設計(DDD)10倍程式開發速度$1,000$790 -
Python FastAPI 構建數據科學應用$534$507 -
計算機系統開發與優化實戰$659$626 -
$352FFmpeg 入門詳解 — 音視頻原理及應用 -
$517高性能 Linux 網絡編程核心技術揭秘 -
$564labuladong 的算法筆記 -
通信系統實戰筆記 無處不在的信號處理$419$398
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書詳解了Nginx架構、執行流程、模塊實現與數據結構,剖析了Nginx源碼設計精髓與應用。第1~2章介紹Nginx編譯安裝、基礎架構與設計理念,涵蓋源碼結構、進程模型等,讓讀者對Nginx有整體性瞭解。第3章從內存池、共享內存展開介紹Nginx的內存管理與使用。第4章分析Nginx的數據結構,即字符串、數組、鏈表、隊列、散列、紅黑樹、基數樹的數據結構和算法。第5章詳細介紹main配置塊、events配置塊與http配置塊,呈現Nginx配置解析的全過程。第6章完整地介紹了Nginx進程管理,涵蓋進程模式、master進程、worker進程以及進程間通信機制。第7章詳細分析HTTP模塊及其處理的11個階段,如模塊初始化流程、請求解析、請求響應等。第8章介紹了Upstream機制,涵蓋初始化、上下遊連接建立、長連接等,著重介紹了FastCGI通信流程。第9章詳細介紹Event模塊的實現以及Nginx中的驚群處理。第10章介紹Nginx的負載均衡、限流、日誌等模塊實現。第11章介紹跨平臺實現,涵蓋編譯過程、共享內存等。第12章介紹Nginx的RTMP直播服務實現,著重介紹RTMP包協議與中繼模塊實現。
通過閱讀本書,你將:
瞭解Nginx的基礎數據結構與算法;
瞭解Nginx的RTMP在直播服務中的實現;
瞭解Nginx跨平臺編譯的源碼實現原理;
瞭解Nginx的內存管理與進程機制的源碼實現;
瞭解Nginx的事件模型與配置的源碼實現;
瞭解Nginx的HTTP模塊與FastCGI模塊的實現機制。
作者簡介
聶鬆鬆
好未來學而思網校學習研發直播系統後端負責人,負責網校核心直播系統開發和架構工作,
擁有多年音視頻及流媒體相關工作經驗,精通Nginx、ffmpeg相關技術棧。
趙禹好未來後端資深開發工程師,曾參與自主創業。
目前負責雲容器平臺Kubernetes組件開發,熟悉PHP、Nginx、Redis、MySQL等源碼實現,樂於鉆研技術。
施洪寶
好未來後端開發專家,對Redis、Nginx、MySQL等開源軟件有較深的理解,
熟悉C/C++、Go語言開發,樂於鉆研技術,合著有《Redis5設計與源碼分析》。
目錄大綱
推薦序
前 言
第1章 Nginx源碼與編譯安裝 1
1.1 Nginx優勢與4種應用示例 1
1.2 Nginx源碼結構 4
1.3 Nginx編譯安裝 5
1.4 本章小結 6
第2章 Nginx基礎架構與設計理念 7
2.1 Nginx進程模型 7
2.2 Nginx模塊化設計 9
2.2.1 模塊分類 9
2.2.2 模塊接口 10
2.2.3 模塊分工 12
2.3 Nginx事件驅動 13
2.4 本章小結 14
第3章 Nginx內存管理 15
3.1 Nginx內存管理簡介 15
3.2 Nginx內存池 16
3.2.1 內存池結構 16
3.2.2 申請內存 17
3.2.3 釋放內存 20
3.3 Nginx共享內存 22
3.3.1 共享內存的創建及銷毀 22
3.3.2 互斥鎖 23
3.3.3 共享內存管理 25
3.3.4 共享內存使用 30
3.4 本章小結 31
第4章 基本數據結構 32
4.1 字符串 32
4.2 數組 33
4.3 鏈表 35
4.4 隊列 37
4.5 散列 42
4.6 紅黑樹 46
4.7 基數樹 56
4.8 本章小結 59
第5章 配置文件解析 60
5.1 配置文件簡介 60
5.2 主函數ngx_conf_parse 63
5.3 解析main配置 65
5.3.1 創建main配置上下文 65
5.3.2 解析配置指令 66
5.4 解析events配置塊 69
5.5 解析http配置塊 71
5.5.1 main配置解析 71
5.5.2 server配置解析 74
5.5.3 location配置解析 76
5.5.4 配置合並 79
5.5.5 location配置再處理 81
5.5.6 upstream配置解析 83
5.6 本章小結 85
第6章 Nginx進程機制 86
6.1 Nginx進程模式 86
6.1.1 daemon模式 86
6.1.2 單進程模式和多進程模式 88
6.1.3 進程模式源碼解析 88
6.2 Master進程 91
6.3 Worker進程 93
6.4 進程間通信機制 99
6.4.1 信號定義 99
6.4.2 信號註冊 101
6.4.3 信號處理 102
6.4.4 Master進程處理機制 106
6.4.5 Worker進程處理機制 110
6.4.6 Master進程與Worker進程通信 111
6.5 本章小結 115
第7章 HTTP模塊 116
7.1 整體流程 117
7.1.1 HTTP模塊初始化 117
7.1.2 HTTP請求解析 118
7.1.3 HTTP請求處理與響應 120
7.2 HTTP服務初始化 123
7.2.1 模塊初始化 123
7.2.2 事件初始化 126
7.2.3 HTTP會話建立 128
7.3 HTTP請求解析 130
7.3.1 基礎結構體 131
7.3.2 接收請求流程 135
7.3.3 解析請求行 137
7.3.4 解析請求頭 143
7.4 HTTP請求處理 148
7.4.1 多階段劃分 148
7.4.2 11個階段初始化 153
7.4.3 處理HTTP請求 155
7.4.4 處理請求體 169
7.5 HTTP請求響應 177
7.5.1 過濾模塊 177
7.5.2 發送HTTP響應 182
7.5.3 結束HTTP響應 190
7.6 本章小結 197
第8章 Upstream機制 198
8.1 Upstream簡介 198
8.2 初始化Upstream 200
8.3 與上遊建立連接 205
8.4 發送請求到上遊 208
8.5 處理上遊響應頭 210
8.6 處理上遊響應體 213
8.7 結束請求 217
8.8 重試機制 219
8.9 長連接 220
8.10 FastCGI模塊 225
8.10.1 FastCGI協議簡介 225
8.10.2 FastCGI通信流程 226
8.10.3 Nginx FastCGI 227
8.11 本章小結 228
第9章 Event模塊實現 229
9.1 基礎知識及相關配置項介紹 230
9.1.1 基本概念 230
9.1.2 基本網絡模型 230
9.1.3 epoll網絡模型 231
9.1.4 Event模塊相關配置項介紹 234
9.2 Nginx事件模型 234
9.2.1 文件事件 235
9.2.2 時間事件 235
9.2.3 進程池 237
9.2.4 監聽池 237
9.2.5 連接池 238
9.2.6 事件池 240
9.2.7 Event模塊初始化過程 244
9.2.8 請求處理流程 257
9.3 Nginx的驚群處理 262
9.4 Nginx的陳舊事件處理 264
9.5 本章小結 266
第10章 其他模塊 267
10.1 負載均衡模塊 267
10.1.1 Nginx負載均衡算法簡介 267
10.1.2 Nginx負載均衡配置指令 268
10.1.3 Nginx負載均衡算法實現 270
10.2 限流模塊 276
10.2.1 常見限流算法 276
10.2.2 Nginx限流配置 277
10.2.3 限流實現原理 278
10.3 日誌模塊 287
10.3.1 日誌模塊配置指令 288
10.3.2 日誌模塊實現原理 290
10.4 本章小結 295
第11章 跨平臺實現 296
11.1 configure實現詳解 296
11.2 跨平臺的原子操作和鎖 304
11.3 信號量 311
11.4 信號和進程管理 315
11.5 共享內存 322
11.6 本章小結 325
第12章 基於Nginx的RTMP直播服務實現 326
12.1 Nginx-RTMP簡介 326
12.2 握手 328
12.3 分塊 331
12.4 Nginx-RTMP模塊 335
12.5 中繼模塊 342
12.6 本章小結 347
