Nginx底层设计与源码分析

Nginx底层设计与源码分析

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

深入理解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底层设计与源码分析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
Flink核心技术:源码剖析与特性开发 电子书
本书从设计思想和特性开发两个视角,对Flink框架进行介绍。
Spring源码深度解析(第2版) 电子书
一本实践与理论并重、广度与深度兼顾的Spring源码开发指南。
直播营销与案例分析 电子书
本书介绍了什么是直播营销,并拆解了直播营销在各行各业的典型案例。
Excel数据处理与分析 电子书
聚焦Excel在财会工作中的典型应用,呈现Excel强大的财会管理功能!提升办公效率! 案例设置基于实际工作过程,案例不仅涉及会计和财务部门日常办公的各个方面,而且这些办公案例之间紧密关联。读者既学会了Excel功能,又熟悉了会计与财务管理岗位的办公业务。 10小时与本书内容同步的视频讲解,光盘与图书内容完美结合。 赠8小时Windows 7视频讲解,轻松运用主流操作系统。 赠1200个Office 2013应用技巧,自如应对工作中的各种状况。 赠900套Word/Excel/PPT 2013实用模板,稍加修改即可应用到工作中。 赠视频讲解常用办公设备和办公软件的使用方法,全面提升办公技能。 赠财务/人力资源/生产/文秘/行政等岗位工作手册,提高效率的有效工具。 赠电脑日常维护与故障排除常见问题解答,轻松搞定常见电脑问题。
Python数据分析与应用 电子书
本书采用了以任务为导向的教学模式,按照解决实际任务的工作流程路线,逐步展开介绍相关的理论知识点,推导生成可行的解决方案, 后落实在任务实现环节。 全书大部分章节紧扣任务需求展开,不堆积知识点,着重于解决问题时思路的启发与方案的实施。通过从任务需求到实现这一完整工作流程的体验,帮助读者真正理解与消化Python数据分析与应用。 书中案例全部源于企业真实项目,可操作性强,引导读者融会贯通,并提供源代码等相关学习资源,帮助读者快速掌握大数据相关技能。