深入理解Nginx:模块开发与架构解析

读书笔记

第一部分

        Nginx能帮我们做什么

第1章 研究Nginx前的准备工作

        1.1Nginx是什么

        1.2为什么选择Nginx

        1.3准备工作

        1.4编译安装Nginx

        1.5configure详解

        1.6Nginx的命令行控制

        1.7小结

第2章 Nginx的配置

        2.1运行中的Nginx进程间的关系

        2.2Nginx配置的通用语法

        2.3Nginx服务的基本配置

        2.4用HTTP核心模块配置一个静态Web服务器

        2.5用HTTP proxy module配置一个反向代理服务器

        2.6小结

第二部分 如何编写HTTP模块

第3章 开发一个简单的HTTP模块

        3.1如何调用HTTP模块

        3.2准备工作

        3.3如何将自己的HTTP模块编译进Nginx

        3.4HTTP模块的数据结构

        3.5定义自己的HTTP模块

        3.6处理用户请求

        3.7发送响应

        3.8将磁盘文件作为包体发送

        3.9用C++语言编写HTTP模块

        3.10小结

第4章 配置、error日志和请求上下文

        4.1http配置项的使用场景

        4.2怎样使用http配置

        4.3HTTP配置模型

        4.4error日志的用法

        4.5请求的上下文

        4.6小结

第5章 访问第三方服务

        5.1upstream的使用方式

        5.2回调方法的执行场景

        5.3使用upstream的示例

        5.4subrequest的使用方式

        5.5subrequest执行过程中的主要场景

        5.6subrequest使用的例子

        5.7小结

第6章 开发一个简单的HTTP过滤模块

        6.1过滤模块的意义

        6.2过滤模块的调用顺序

        6.3HTTP过滤模块的开发步骤

        6.4HTTP过滤模块的简单例子

        6.5小结

第7章 Nginx提供的高级数据结构

        7.1Nginx提供的高级数据结构概述

        7.2ngx_queue_t双向链表

        7.3ngx_array_t动态数组

        7.4ngx_list_t单向链表

        7.5ngx_rbtree_t红黑树

        7.6ngx_radix_tree_t基数树

        7.7支持通配符的散列表

        7.8小结

第三部分 深入Nginx

第8章 Nginx基础架构

        8.1Web服务器设计中的关键约束

        8.2Nginx的架构设计

        8.3Nginx框架中的核心结构体ngx_cycle_t

        8.4Nginx启动时框架的处理流程

        8.5worker进程是如何工作的

        8.6master进程是如何工作的

        8.7ngx_pool_t内存池

        8.8小结

第9章 事件模块

        9.1事件处理框架概述

        9.2Nginx事件的定义

        9.3Nginx连接的定义

        9.4ngx_events_module核心模块

        9.5ngx_event_core_module事件模块

        9.6epoll事件驱动模块

        9.7定时器事件

        9.8事件驱动框架的处理流程

        9.9文件的异步I/O

        9.10TCP协议与Nginx

        9.11小结

第10章 HTTP框架的初始化

        10.1HTTP框架概述

        10.2管理HTTP模块的配置项

        10.3监听端口的管理

        10.4server的快速检索

        10.5location的快速检索

        10.6HTTP请求的11个处理阶段

        10.7HTTP框架的初始化流程

        10.8小结

第11章 HTTP框架的执行流程

        11.1HTTP框架执行流程概述

        11.2新连接建立时的行为

        11.3第一次可读事件的处理

        11.4接收HTTP请求行

        11.5接收HTTP头部

        11.6处理HTTP请求

        11.7subrequest与post请求

        11.8处理HTTP包体

        11.9发送HTTP响应

        11.10结束HTTP请求

        11.11小结

第12章 upstream机制的设计与实现

        12.1upstream机制概述

        12.2启动upstream

        12.3与上游服务器建立连接

        12.4发送请求到上游服务器

        12.5接收上游服务器的响应头部

        12.6不转发响应时的处理流程

        12.7以下游网速优先来转发响应

        12.8以上游网速优先来转发响应

        12.9结束upstream请求

        12.10小结

第13章 邮件代理模块

        13.1邮件代理服务器的功能

        13.2邮件模块的处理框架

        13.3初始化请求

        13.4接收并解析客户端请求

        13.5邮件认证

        13.6与上游邮件服务器间的认证交互

        13.7透传上游邮件服务器与客户端间的流

        13.8小结

第14章 进程间的通信机制

        14.1概述

        14.2共享内存

        14.3原子操作

        14.4Nginx频道

        14.5信号

        14.6信号量

        14.7文件锁

        14.8互斥锁

        14.9小结

第15章 变量

        15.1使用内部变量开发模块

        15.2内部变量工作原理

        15.3定义内部变量

        15.4外部变量与脚本引擎

        15.5小结

第16章 slab共享内存

        16.1操作slab共享内存的方法

        16.2使用slab共享内存池的例子

        16.3slab内存管理的实现原理

        16.4小结

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ladymorgana

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值