主编推荐语
深入理解Nginx,含大量源码分析与流程图总结,全面揭示Nginx高性能/高并发本质,更有跨平台与直播模块定制开发。
内容简介
本书详解了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包协议与中继模块实现。
目录
- 版权信息
- 推荐序
- 前言
- 第1章 Nginx源码与编译安装
- 1.1 Nginx优势与4种应用示例
- 1.2 Nginx源码结构
- 1.3 Nginx编译安装
- 1.4 本章小结
- 第2章 Nginx基础架构与设计理念
- 2.1 Nginx进程模型
- 2.2 Nginx模块化设计
- 2.2.1 模块分类
- 2.2.2 模块接口
- 2.2.3 模块分工
- 2.3 Nginx事件驱动
- 2.4 本章小结
- 第3章 Nginx内存管理
- 3.1 Nginx内存管理简介
- 3.2 Nginx内存池
- 3.2.1 内存池结构
- 3.2.2 申请内存
- 3.2.3 释放内存
- 3.3 Nginx共享内存
- 3.3.1 共享内存的创建及销毁
- 3.3.2 互斥锁
- 3.3.3 共享内存管理
- 3.3.4 共享内存使用
- 3.4 本章小结
- 第4章 基本数据结构
- 4.1 字符串
- 4.2 数组
- 4.3 链表
- 4.4 队列
- 4.5 散列
- 4.6 红黑树
- 4.7 基数树
- 4.8 本章小结
- 第5章 配置文件解析
- 5.1 配置文件简介
- 5.2 主函数ngx_conf_parse
- 5.3 解析main配置
- 5.3.1 创建main配置上下文
- 5.3.2 解析配置指令
- 5.4 解析events配置块
- 5.5 解析http配置块
- 5.5.1 main配置解析
- 5.5.2 schmerver配置解析
- 5.5.3 location配置解析
- 5.5.4 配置合并
- 5.5.5 location配置再处理
- 5.5.6 upstream配置解析
- 5.6 本章小结
- 第6章 Nginx进程机制
- 6.1 Nginx进程模式
- 6.1.1 daemon模式
- 6.1.2 单进程模式和多进程模式
- 6.1.3 进程模式源码解析
- 6.2 Master进程
- 6.3 Worker进程
- 6.4 进程间通信机制
- 6.4.1 信号定义
- 6.4.2 信号注册
- 6.4.3 信号处理
- 6.4.4 Master进程处理机制
- 6.4.5 Worker进程处理机制
- 6.4.6 Master进程与Worker进程通信
- 6.5 本章小结
- 第7章 HTTP模块
- 7.1 整体流程
- 7.1.1 HTTP模块初始化
- 7.1.2 HTTP请求解析
- 7.1.3 HTTP请求处理与响应
- 7.2 HTTP服务初始化
- 7.2.1 模块初始化
- 7.2.2 事件初始化
- 7.2.3 HTTP会话建立
- 7.3 HTTP请求解析
- 7.3.1 基础结构体
- 7.3.2 接收请求流程
- 7.3.3 解析请求行
- 7.3.4 解析请求头
- 7.4 HTTP请求处理
- 7.4.1 多阶段划分
- 7.4.2 11个阶段初始化
- 7.4.3 处理HTTP请求
- 7.4.4 处理请求体
- 7.5 HTTP请求响应
- 7.5.1 过滤模块
- 7.5.2 发送HTTP响应
- 7.5.3 结束HTTP响应
- 7.6 本章小结
- 第8章 Upstream机制
- 8.1 Upstream简介
- 8.2 初始化Upstream
- 8.3 与上游建立连接
- 8.4 发送请求到上游
- 8.5 处理上游响应头
- 8.6 处理上游响应体
- 8.7 结束请求
- 8.8 重试机制
- 8.9 长连接
- 8.10 FastCGI模块
- 8.10.1 FastCGI协议简介
- 8.10.2 FastCGI通信流程
- 8.10.3 Nginx FastCGI
- 8.11 本章小结
- 第9章 Event模块实现
- 9.1 基础知识及相关配置项介绍
- 9.1.1 基本概念
- 9.1.2 基本网络模型
- 9.1.3 epoll网络模型
- 9.1.4 Event模块相关配置项介绍
- 9.2 Nginx事件模型
- 9.2.1 文件事件
- 9.2.2 时间事件
- 9.2.3 进程池
- 9.2.4 监听池
- 9.2.5 连接池
- 9.2.6 事件池
- 9.2.7 Event模块初始化过程
- 9.2.8 请求处理流程
- 9.3 Nginx的惊群处理
- 9.4 Nginx的陈旧事件处理
- 9.5 本章小结
- 第10章 其他模块
- 10.1 负载均衡模块
- 10.1.1 Nginx负载均衡算法简介
- 10.1.2 Nginx负载均衡配置指令
- 10.1.3 Nginx负载均衡算法实现
- 10.2 限流模块
- 10.2.1 常见限流算法
- 10.2.2 Nginx限流配置
- 10.2.3 限流实现原理
- 10.3 日志模块
- 10.3.1 日志模块配置指令
- 10.3.2 日志模块实现原理
- 10.4 本章小结
- 第11章 跨平台实现
- 11.1 configure实现详解
- 11.2 跨平台的原子操作和锁
- 11.3 信号量
- 11.4 信号和进程管理
- 11.5 共享内存
- 11.6 本章小结
- 第12章 基于Nginx的RTMP直播服务实现
- 12.1 Nginx-RTMP简介
- 12.2 握手
- 12.3 分块
- 12.4 Nginx-RTMP模块
- 12.5 中继模块
- 12.6 本章小结
出版方
机械工业出版社有限公司
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。