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

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

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

定 價(jià):¥99.00

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

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111682745 出版時(shí)間: 2021-06-01 包裝: 平裝
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 360 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

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

作者簡(jiǎn)介

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

圖書(shū)目錄

前 言
第1章 Nginx源碼與編譯安裝  1
1.1 Nginx優(yōu)勢(shì)與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è)計(jì)理念  7
2.1 Nginx進(jìn)程模型  7
2.2 Nginx模塊化設(shè)計(jì)  9
2.2.1 模塊分類(lèi)  9
2.2.2 模塊接口  10
2.2.3 模塊分工  12
2.3 Nginx事件驅(qū)動(dòng)  13
2.4 本章小結(jié)  14
 
第3章 Nginx內(nèi)存管理  15
3.1 Nginx內(nèi)存管理簡(jiǎn)介  15
3.2 Nginx內(nèi)存池  16
3.2.1 內(nèi)存池結(jié)構(gòu)  16
3.2.2 申請(qǐng)內(nèi)存  17
3.2.3 釋放內(nèi)存  20
3.3 Nginx共享內(nèi)存  22
3.3.1 共享內(nèi)存的創(chuàng)建及銷(xiāo)毀  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 隊(duì)列  37
4.5 散列  42
4.6 紅黑樹(shù)  46
4.7 基數(shù)樹(shù)  56
4.8 本章小結(jié)  59
 
第5章 配置文件解析  60
5.1 配置文件簡(jiǎn)介  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進(jìn)程機(jī)制  86
6.1 Nginx進(jìn)程模式  86
6.1.1 daemon模式  86
6.1.2 單進(jìn)程模式和多進(jìn)程模式  88
6.1.3 進(jìn)程模式源碼解析  88
6.2 Master進(jìn)程  91
6.3 Worker進(jìn)程  93
6.4 進(jìn)程間通信機(jī)制  99
6.4.1 信號(hào)定義  99
6.4.2 信號(hào)注冊(cè)  101
6.4.3 信號(hào)處理  102
6.4.4 Master進(jìn)程處理機(jī)制  106
6.4.5 Worker進(jìn)程處理機(jī)制  110
6.4.6 Master進(jìn)程與Worker進(jìn)程通信  111
6.5 本章小結(jié)  115
 
第7章 HTTP模塊  116
7.1 整體流程  117
7.1.1 HTTP模塊初始化  117
7.1.2 HTTP請(qǐng)求解析  118
7.1.3 HTTP請(qǐng)求處理與響應(yīng)  120
7.2 HTTP服務(wù)初始化  123
7.2.1 模塊初始化  123
7.2.2 事件初始化  126
7.2.3 HTTP會(huì)話(huà)建立  128
7.3 HTTP請(qǐng)求解析  130
7.3.1 基礎(chǔ)結(jié)構(gòu)體  131
7.3.2 接收請(qǐng)求流程  135
7.3.3 解析請(qǐng)求行  137
7.3.4 解析請(qǐng)求頭  143
7.4 HTTP請(qǐng)求處理  148
7.4.1 多階段劃分  148
7.4.2 11個(gè)階段初始化  153
7.4.3 處理HTTP請(qǐng)求  155
7.4.4 處理請(qǐng)求體  169
7.5 HTTP請(qǐng)求響應(yīng)  177
7.5.1 過(guò)濾模塊  177
7.5.2 發(fā)送HTTP響應(yīng)  182
7.5.3 結(jié)束HTTP響應(yīng)  190
7.6 本章小結(jié)  197
 
第8章 Upstream機(jī)制  198
8.1 Upstream簡(jiǎn)介  198
8.2 初始化Upstream  200
8.3 與上游建立連接  205
8.4 發(fā)送請(qǐng)求到上游  208
8.5 處理上游響應(yīng)頭  210
8.6 處理上游響應(yīng)體  213
8.7 結(jié)束請(qǐng)求  217
8.8 重試機(jī)制  219
8.9 長(zhǎng)連接  220
8.10 FastCGI模塊  225
8.10.1 FastCGI協(xié)議簡(jiǎn)介  225
8.10.2 FastCGI通信流程  226
8.10.3 Nginx FastCGI  227
8.11 本章小結(jié)  228
 
第9章 Event模塊實(shí)現(xiàn)  229
9.1 基礎(chǔ)知識(shí)及相關(guān)配置項(xiàng)介紹  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)配置項(xiàng)介紹  234
9.2 Nginx事件模型  234
9.2.1 文件事件  235
9.2.2 時(shí)間事件  235
9.2.3 進(jìn)程池  237
9.2.4 監(jiān)聽(tīng)池  237
9.2.5 連接池  238
9.2.6 事件池  240
9.2.7 Event模塊初始化過(guò)程  244
9.2.8 請(qǐng)求處理流程  257
9.3 Nginx的驚群處理  262
9.4 Nginx的陳舊事件處理  264
9.5 本章小結(jié)  266
 
第10章 其他模塊  267
10.1 負(fù)載均衡模塊  267
10.1.1  Nginx負(fù)載均衡算法簡(jiǎn)介  267
10.1.2 Nginx負(fù)載均衡配置指令  268
10.1.3 Nginx負(fù)載均衡算法實(shí)現(xiàn)  270
10.2 限流模塊  276
10.2.1 常見(jiàn)限流算法  276
10.2.2 Nginx限流配置  277
10.2.3 限流實(shí)現(xiàn)原理  278
10.3 日志模塊  287
10.3.1 日志模塊配置指令  288
10.3.2 日志模塊實(shí)現(xiàn)原理  290
10.4 本章小結(jié)  295
 
第11章 跨平臺(tái)實(shí)現(xiàn)  296
11.1 configure實(shí)現(xiàn)詳解  296
11.2 跨平臺(tái)的原子操作和鎖  304
11.3 信號(hào)量  311
11.4 信號(hào)和進(jìn)程管理  315
11.5 共享內(nèi)存  322
11.6 本章小結(jié)  325
 
第12章 基于Nginx的RTMP直播服務(wù)實(shí)現(xiàn)  326
12.1 Nginx-RTMP簡(jiǎn)介  326
12.2 握手  328
12.3 分塊  331
12.4 Nginx-RTMP模塊  335
12.5 中繼模塊  342
12.6 本章小結(jié)  347

本目錄推薦

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