编辑推荐
深入理解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包协议与中继模块实现。
作者简介
作者聂松松,好未来学而思网校学习研发直播系统后端负责人,负责网校核心直播系统开发和架构工作,拥有多年音视频及流媒体相关工作经验,精通Nginx、ffmpeg相关技术栈。
章节目录
版权信息
推荐序
前言
第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 本章小结
Nginx底层设计与源码分析是2021年由机械工业出版社华章分社出版,作者聂松松。
得书感谢您对《Nginx底层设计与源码分析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。