注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機/網(wǎng)絡(luò)人工智能Nginx底層設(shè)計與源碼分析

Nginx底層設(shè)計與源碼分析

Nginx底層設(shè)計與源碼分析

定 價:¥99.00

作 者: 聶松松,趙禹,施洪寶 等 著
出版社: 機械工業(yè)出版社
叢編項:
標(biāo) 簽: 暫缺

ISBN: 9787111682745 出版時間: 2021-06-01 包裝: 平裝
開本: 16開 頁數(shù): 360 字數(shù):  

內(nèi)容簡介

  本書詳解了Nginx架構(gòu)、執(zhí)行流程、模塊實現(xiàn)與數(shù)據(jù)結(jié)構(gòu),剖析了Nginx源碼設(shè)計精髓與應(yīng)用。第1~2章介紹Nginx編譯安裝、基礎(chǔ)架構(gòu)與設(shè)計理念,涵蓋源碼結(jié)構(gòu)、進程模型等,讓讀者對Nginx有整體性了解。第3章從內(nèi)存池、共享內(nèi)存展開介紹Nginx的內(nèi)存管理與使用。第4章分析Nginx的數(shù)據(jù)結(jié)構(gòu),即字符串、數(shù)組、鏈表、隊列、散列、紅黑樹、基數(shù)樹的數(shù)據(jù)結(jié)構(gòu)和算法。第5章詳細介紹main配置塊、events配置塊與http配置塊,呈現(xiàn)Nginx配置解析的全過程。第6章完整地介紹了Nginx的 進程管理,涵蓋進程模式、master 進程、worker 進程以及進程間通信機制。第7章詳細分析HTTP模塊及其處理的11個階段,如模塊初始化流程、請求解析、請求響應(yīng)等。第8章介紹了Upstream機制,涵蓋初始化、上下游連接建立、長連接等,著重介紹了FastCGI通信流程。第9章詳細介紹Event模塊的實現(xiàn)以及Nginx中的驚群處理。第10章介紹Nginx的負載均衡、限流、日志等模塊實現(xiàn)。第11章介紹跨平臺實現(xiàn),涵蓋編譯過程、共享內(nèi)存等。第12章介紹Nginx的RTMP直播服務(wù)實現(xiàn),著重介紹RTMP包協(xié)議與中繼模塊實現(xiàn)。

作者簡介

  ★聶松松好未來學(xué)而思網(wǎng)校學(xué)習(xí)研發(fā)直播系統(tǒng)后端負責(zé)人,負責(zé)網(wǎng)校核心直播系統(tǒng)開發(fā)和架構(gòu)工作,擁有多年音視頻及流媒體相關(guān)工作經(jīng)驗,精通Nginx、ffmpeg相關(guān)技術(shù)棧?!镖w禹好未來后端資深開發(fā)工程師,曾參與自主創(chuàng)業(yè)。目前負責(zé)云容器平臺Kubernetes組件開發(fā),熟悉PHP、Nginx、Redis、MySQL等源碼實現(xiàn),樂于鉆研技術(shù)?!锸┖閷毢梦磥砗蠖碎_發(fā)專家,對Redis、Nginx、MySQL等開源軟件有較深的理解,熟悉C/C、Go語言開發(fā),樂于鉆研技術(shù),合著有《Redis 5設(shè)計與源碼分析》。★景羅高級技術(shù)專家,曾在搜狐、新浪工作,擁有7年后端架構(gòu)開發(fā)經(jīng)驗,熟悉PHP、Nginx、Redis、MySQL等源碼實現(xiàn),擅長高并發(fā)處理及大型網(wǎng)站架構(gòu)開發(fā)?!稂S桃 高級技術(shù)專家,曾在滴滴等公司工作,擁有8年后端架構(gòu)開發(fā)經(jīng)驗,著有《PHP 7底層設(shè)計與源碼實現(xiàn)》等書籍?!锢顦泛梦磥韺W(xué)而思網(wǎng)校PHP開發(fā)專家,樂于鉆研技術(shù)與源碼研究,對Redis和Nginx有較深的理解,合著有《Redis 5設(shè)計與源碼分析》?!飶垐蠛梦磥砑瘓F接入層網(wǎng)關(guān)方向負責(zé)人,對Nginx、Tengine、OpenResty等高性能Web服務(wù)器有深入理解,精通大型站點架構(gòu)與流量調(diào)度系統(tǒng)的設(shè)計與實現(xiàn)?!镩Z昌 好未來后端開發(fā)專家,深耕信息安全領(lǐng)域多年,對Linux服務(wù)端開發(fā)有較深見解,擅長高并發(fā)業(yè)務(wù)的實現(xiàn)?!锾锓濉W(xué)而思學(xué)服研發(fā)部負責(zé)人,從業(yè)10余年,曾在搜狗、百度、360等公司從事研發(fā)和技術(shù)管理工作,在高性能服務(wù)架構(gòu)設(shè)計及復(fù)雜業(yè)務(wù)系統(tǒng)開發(fā)方面擁有豐富的經(jīng)驗。精彩書評

圖書目錄

前 言
第1章 Nginx源碼與編譯安裝  1
1.1 Nginx優(yōu)勢與4種應(yīng)用示例  1
1.2 Nginx源碼結(jié)構(gòu)  4
1.3 Nginx編譯安裝  5
1.4 本章小結(jié)  6
 
第2章 Nginx基礎(chǔ)架構(gòu)與設(shè)計理念  7
2.1 Nginx進程模型  7
2.2 Nginx模塊化設(shè)計  9
2.2.1 模塊分類  9
2.2.2 模塊接口  10
2.2.3 模塊分工  12
2.3 Nginx事件驅(qū)動  13
2.4 本章小結(jié)  14
 
第3章 Nginx內(nèi)存管理  15
3.1 Nginx內(nèi)存管理簡介  15
3.2 Nginx內(nèi)存池  16
3.2.1 內(nèi)存池結(jié)構(gòu)  16
3.2.2 申請內(nèi)存  17
3.2.3 釋放內(nèi)存  20
3.3 Nginx共享內(nèi)存  22
3.3.1 共享內(nèi)存的創(chuàng)建及銷毀  22
3.3.2 互斥鎖  23
3.3.3 共享內(nèi)存管理  25
3.3.4 共享內(nèi)存使用  30
3.4 本章小結(jié)  31
 
第4章 基本數(shù)據(jù)結(jié)構(gòu)  32
4.1 字符串  32
4.2 數(shù)組  33
4.3 鏈表  35
4.4 隊列  37
4.5 散列  42
4.6 紅黑樹  46
4.7 基數(shù)樹  56
4.8 本章小結(jié)  59
 
第5章 配置文件解析  60
5.1 配置文件簡介  60
5.2 主函數(shù)ngx_conf_parse  63
5.3 解析main配置  65
5.3.1 創(chuàng)建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 本章小結(jié)  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 本章小結(jié)  115
 
第7章 HTTP模塊  116
7.1 整體流程  117
7.1.1 HTTP模塊初始化  117
7.1.2 HTTP請求解析  118
7.1.3 HTTP請求處理與響應(yīng)  120
7.2 HTTP服務(wù)初始化  123
7.2.1 模塊初始化  123
7.2.2 事件初始化  126
7.2.3 HTTP會話建立  128
7.3 HTTP請求解析  130
7.3.1 基礎(chǔ)結(jié)構(gòu)體  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請求響應(yīng)  177
7.5.1 過濾模塊  177
7.5.2 發(fā)送HTTP響應(yīng)  182
7.5.3 結(jié)束HTTP響應(yīng)  190
7.6 本章小結(jié)  197
 
第8章 Upstream機制  198
8.1 Upstream簡介  198
8.2 初始化Upstream  200
8.3 與上游建立連接  205
8.4 發(fā)送請求到上游  208
8.5 處理上游響應(yīng)頭  210
8.6 處理上游響應(yīng)體  213
8.7 結(jié)束請求  217
8.8 重試機制  219
8.9 長連接  220
8.10 FastCGI模塊  225
8.10.1 FastCGI協(xié)議簡介  225
8.10.2 FastCGI通信流程  226
8.10.3 Nginx FastCGI  227
8.11 本章小結(jié)  228
 
第9章 Event模塊實現(xiàn)  229
9.1 基礎(chǔ)知識及相關(guān)配置項介紹  230
9.1.1 基本概念  230
9.1.2 基本網(wǎng)絡(luò)模型  230
9.1.3 epoll網(wǎng)絡(luò)模型  231
9.1.4 Event模塊相關(guān)配置項介紹  234
9.2 Nginx事件模型  234
9.2.1 文件事件  235
9.2.2 時間事件  235
9.2.3 進程池  237
9.2.4 監(jiān)聽池  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 本章小結(jié)  266
 
第10章 其他模塊  267
10.1 負載均衡模塊  267
10.1.1  Nginx負載均衡算法簡介  267
10.1.2 Nginx負載均衡配置指令  268
10.1.3 Nginx負載均衡算法實現(xiàn)  270
10.2 限流模塊  276
10.2.1 常見限流算法  276
10.2.2 Nginx限流配置  277
10.2.3 限流實現(xiàn)原理  278
10.3 日志模塊  287
10.3.1 日志模塊配置指令  288
10.3.2 日志模塊實現(xiàn)原理  290
10.4 本章小結(jié)  295
 
第11章 跨平臺實現(xiàn)  296
11.1 configure實現(xiàn)詳解  296
11.2 跨平臺的原子操作和鎖  304
11.3 信號量  311
11.4 信號和進程管理  315
11.5 共享內(nèi)存  322
11.6 本章小結(jié)  325
 
第12章 基于Nginx的RTMP直播服務(wù)實現(xiàn)  326
12.1 Nginx-RTMP簡介  326
12.2 握手  328
12.3 分塊  331
12.4 Nginx-RTMP模塊  335
12.5 中繼模塊  342
12.6 本章小結(jié)  347

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號