Nginx底層設計與源碼分析( 簡體 字) | |
作者:聶松松,趙禹,施洪寶 等 | 類別:1. -> 程式設計 -> 網路編程 -> Nginx |
出版社:機械工業出版社 | 3dWoo書號: 54648 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:6/1/2021 | |
頁數:360 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787111682745 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
**序
前 言 第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 **0章 其他模块 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 **1章 跨平台实现 296 11.1 configure实现详解 296 11.2 跨平台的原子操作和锁 304 11.3 信号量 311 11.4 信号和进程管理 315 11.5 共享内存 322 11.6 本章小结 325 **2章 基于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 本書內容上分為三篇,共計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模塊實現,讓讀者對跨平臺原理實現、多進程管理、信號、信號量、共享內存、事件等知識點有一個更深入的理解。 |