商品簡介
名人/編輯推薦
目次
商品簡介
本書內容上分為三篇,共計13章內容。
第1篇(第1~5章)基礎知識篇,第1章主要講解了Nginx源碼目錄介紹的作用及編譯與安裝,第2章講解了Nginx的整體架構與設計思路的實現,第3~5章主要講解了Nginx的基本數據結構、內存管理與配置文件解析等實現。
第2篇(第6~11章)核心模塊篇,這一篇為本書的核心內容,其中第6章講解了Nginx生命週期的實現,第7章講解了Event模塊及其用到的事件模型實現,第8章講解了HTTP模塊及11階段的實現,第9章講解了Upstream模塊實現,第10章講解了FastCGI與proxy模塊實現,第11章講解了負載均衡、限流、SSL、log等模塊實現。
第3篇(第12~13章)實戰應用篇,講解了Nginx的rtmp模塊實現,讓讀者對跨平臺原理實現、多進程管理、信號、信號量、共享內存、事件等知識點有一個更深入的理解。
第1篇(第1~5章)基礎知識篇,第1章主要講解了Nginx源碼目錄介紹的作用及編譯與安裝,第2章講解了Nginx的整體架構與設計思路的實現,第3~5章主要講解了Nginx的基本數據結構、內存管理與配置文件解析等實現。
第2篇(第6~11章)核心模塊篇,這一篇為本書的核心內容,其中第6章講解了Nginx生命週期的實現,第7章講解了Event模塊及其用到的事件模型實現,第8章講解了HTTP模塊及11階段的實現,第9章講解了Upstream模塊實現,第10章講解了FastCGI與proxy模塊實現,第11章講解了負載均衡、限流、SSL、log等模塊實現。
第3篇(第12~13章)實戰應用篇,講解了Nginx的rtmp模塊實現,讓讀者對跨平臺原理實現、多進程管理、信號、信號量、共享內存、事件等知識點有一個更深入的理解。
名人/編輯推薦
1)好未來資深專家撰寫,剖析Nginx源碼設計精髓與應用
目次
推薦序
前 言
第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
前 言
第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
主題書展
更多
主題書展
更多書展購物須知
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。
優惠價:87
517
海外經銷商無庫存,到貨日平均30天至45天

