思维导图备注

深入理解Nginx:模块开发与架构解析-陶辉
首页 收藏书籍 阅读记录
  • 书签 我的书签
  • 添加书签 添加书签 移除书签 移除书签

4.6 小结

浏览 4 扫码
  • 小字体
  • 中字体
  • 大字体
2022-02-19 20:36:10
请 登录 再阅读
上一篇:
下一篇:
  • 书签
  • 添加书签 移除书签
  • 前言
  • 读者对象
  • 背景知识
  • 如何阅读本书
  • 勘误和支持
  • 致谢
  • 第一部分 Nginx能帮我们做什么
  • 1.2 为什么选择Nginx
  • 1.3 准备工作
  • 1.3.2 使用Nginx的必备软件
  • 1.3.3 磁盘目录
  • 1.3.4 Linux内核参数的优化
  • 1.3.5 获取Nginx源码
  • 1.4 编译安装Nginx
  • 1.5 configure详解
  • 1.5.2 configure执行流程
  • 1.5.3 configure生成的文件
  • 1.6 Nginx的命令行控制
  • 1.7 小结
  • 第2章 Nginx的配置
  • 2.2 Nginx配置的通用语法
  • 2.2.2 配置项的语法格式
  • 2.2.3 配置项的注释
  • 2.2.4 配置项的单位
  • 2.2.5 在配置中使用变量
  • 2.3 Nginx服务的基本配置
  • 2.3.2 正常运行的配置项
  • 2.3.3 优化性能的配置项
  • 2.3.4 事件类配置项
  • 2.4 用HTTP核心模块配置一个静态Web服务器
  • 2.4.2 文件路径的定义
  • 2.4.3 内存及磁盘资源的分配
  • 2.4.4 网络连接的设置
  • 2.4.5 MIME类型的设置
  • 2.4.6 对客户端请求的限制
  • 2.4.7 文件操作的优化
  • 2.4.8 对客户端请求的特殊处理
  • 2.4.9 ngx_http_core_module模块提供的变量
  • 2.5 用HTTP proxy module配置一个反向代理服务器
  • 2.5.2 反向代理的基本配置
  • 2.6 小结
  • 第二部分 如何编写HTTP模块
  • 3.2 准备工作
  • 3.2.2 ngx_str_t数据结构
  • 3.2.3 ngx_list_t数据结构
  • 3.2.4 ngx_table_elt_t数据结构
  • 3.2.5 ngx_buf_t数据结构
  • 3.2.6 ngx_chain_t数据结构
  • 3.3 如何将自己的HTTP模块编译进Nginx
  • 3.3.2 利用configure脚本将定制的模块加入到Nginx中
  • 3.3.3 直接修改Makefile文件
  • 3.4 HTTP模块的数据结构
  • 3.5 定义自己的HTTP模块
  • 3.6 处理用户请求
  • 3.6.2 获取URI和参数
  • 3.6.3 获取HTTP头部
  • 3.6.4 获取HTTP包体
  • 3.7 发送响应
  • 3.7.2 将内存中的字符串作为包体发送
  • 3.7.3 经典的“Hello World”示例
  • 3.8 将磁盘文件作为包体发送
  • 3.8.2 清理文件句柄
  • 3.8.3 支持用户多线程下载和断点续传
  • 3.9 用C++语言编写HTTP模块
  • 3.9.2 程序中的符号转换
  • 3.10 小结
  • 第4章 配置、error日志和请求上下文
  • 4.2 怎样使用http配置
  • 4.2.2 设定配置项的解析方式
  • 4.2.3 使用14种预设方法解析配置项
  • 4.2.4 自定义配置项处理方法
  • 4.2.5 合并配置项
  • 4.3 HTTP配置模型
  • 4.3.2 HTTP配置模型的内存布局
  • 4.3.3 如何合并配置项
  • 4.3.4 预设配置项处理方法的工作原理
  • 4.4 error日志的用法
  • 4.5 请求的上下文
  • 4.5.2 如何使用HTTP上下文
  • 4.5.3 HTTP框架如何维护上下文结构
  • 4.6 小结
  • 第5章 访问第三方服务
  • 5.1.2 设置upstream的限制性参数
  • 5.1.3 设置需要访问的第三方服务器地址
  • 5.1.4 设置回调方法
  • 5.1.5 如何启动upstream机制
  • 5.2 回调方法的执行场景
  • 5.2.2 reinit_request回调方法
  • 5.2.3 finalize_request回调方法
  • 5.2.4 process_header回调方法
  • 5.2.5 rewrite_redirect回调方法
  • 5.2.6 input_filter_init与input_filter回调方法
  • 5.3 使用upstream的示例
  • 5.3.2 请求上下文
  • 5.3.3 在create_request方法中构造请求
  • 5.3.4 在process_header方法中解析包头
  • 5.3.5 在finalize_request方法中释放资源
  • 5.3.6 在ngx_http_mytest_handler方法中启动upstream
  • 5.4 subrequest的使用方式
  • 5.4.2 实现子请求处理完毕时的回调方法
  • 5.4.3 处理父请求被重新激活后的回调方法
  • 5.4.4 启动subrequest子请求
  • 5.5 subrequest执行过程中的主要场景
  • 5.5.2 如何转发多个子请求的响应包体
  • 5.5.3 子请求如何激活父请求
  • 5.6 subrequest使用的例子
  • 5.6.2 请求上下文
  • 5.6.3 子请求结束时的处理方法
  • 5.6.4 父请求的回调方法
  • 5.6.5 启动subrequest
  • 5.7 小结
  • 第6章 开发一个简单的HTTP过滤模块
  • 6.2 过滤模块的调用顺序
  • 6.2.2 过滤链表的顺序
  • 6.2.3 官方默认HTTP过滤模块的功能简介
  • 6.3 HTTP过滤模块的开发步骤
  • 6.4 HTTP过滤模块的简单例子
  • 6.4.2 配置项和上下文
  • 6.4.3 定义HTTP过滤模块
  • 6.4.4 初始化HTTP过滤模块
  • 6.4.5 处理请求中的HTTP头部
  • 6.4.6 处理请求中的HTTP包体
  • 6.5 小结
  • 第7章 Nginx提供的高级数据结构
  • 7.2 ngx_queue_t双向链表
  • 7.2.2 双向链表的使用方法
  • 7.2.3 使用双向链表排序的例子
  • 7.2.4 双向链表是如何实现的
  • 7.3 ngx_array_t动态数组
  • 7.3.2 动态数组的使用方法
  • 7.3.3 使用动态数组的例子
  • 7.3.4 动态数组的扩容方式
  • 7.4 ngx_list_t单向链表
  • 7.5 ngx_rbtree_t红黑树
  • 7.5.2 红黑树的特性
  • 7.5.3 红黑树的使用方法
  • 7.5.4 使用红黑树的简单例子
  • 7.5.5 如何自定义添加成员方法
  • 7.6 ngx_radix_tree_t基数树
  • 7.6.2 基数树的使用方法
  • 7.6.3 使用基数树的例子
  • 7.7 支持通配符的散列表
  • 7.7.2 支持通配符的散列表
  • 7.7.3 带通配符散列表的使用例子
  • 7.8 小结
  • 第三部分 深入Nginx
  • 8.2 Nginx的架构设计
  • 8.2.2 事件驱动架构
  • 8.2.3 请求的多阶段异步处理
  • 8.2.4 管理进程、多工作进程设计
  • 8.2.5 平台无关的代码实现
  • 8.2.6 内存池的设计
  • 8.2.7 使用统一管道过滤器模式的HTTP过滤模块
  • 8.2.8 其他一些用户模块
  • 8.3 Nginx框架中的核心结构体ngx_cycle_t
  • 8.3.2 ngx_cycle_t结构体
  • 8.3.3 ngx_cycle_t支持的方法
  • 8.4 Nginx启动时框架的处理流程
  • 8.5 worker进程是如何工作的
  • 8.6 master进程是如何工作的
  • 8.7 小结
  • 第9章 事件模块
  • 9.2 Nginx事件的定义
  • 9.3 Nginx连接的定义
  • 9.3.2 主动连接
  • 9.3.3 ngx_connection_t连接池
  • 9.4 ngx_events_module核心模块
  • 9.4.2 管理事件模块
  • 9.5 ngx_event_core_module事件模块
  • 9.6 epoll事件驱动模块
  • 9.6.2 如何使用epoll
  • 9.6.3 ngx_epoll_module模块的实现
  • 9.7 定时器事件
  • 9.7.2 缓存时间的精度
  • 9.7.3 定时器的实现
  • 9.8 事件驱动框架的处理流程
  • 9.8.2 如何解决“惊群”问题
  • 9.8.3 如何实现负载均衡
  • 9.8.4 post事件队列
  • 9.8.5 ngx_process_events_and_timers流程
  • 9.9 文件的异步I/O
  • 9.9.2 ngx_epoll_module模块中实现的针对文件的异步I/O
  • 9.10 小结
  • 第10章 HTTP框架的初始化
  • 10.2 管理HTTP模块的配置项
  • 10.2.2 管理server级别下的配置项
  • 10.2.3 管理location级别下的配置项
  • 10.2.4 不同级别配置项的合并
  • 10.3 监听端口的管理
  • 10.4 server的快速检索
  • 10.5 location的快速检索
  • 10.6 HTTP请求的11个处理阶段
  • 10.6.2 NGX_HTTP_POST_READ_PHASE阶段
  • 10.6.3 NGX_HTTP_SERVER_REWRITE_PHASE阶段
  • 10.6.4 NGX_HTTP_FIND_CONFIG_PHASE阶段
  • 10.6.5 NGX_HTTP_REWRITE_PHASE阶段
  • 10.6.6 NGX_HTTP_POST_REWRITE_PHASE阶段
  • 10.6.7 NGX_HTTP_PREACCESS_PHASE阶段
  • 10.6.8 NGX_HTTP_ACCESS_PHASE阶段
  • 10.6.9 NGX_HTTP_POST_ACCESS_PHASE阶段
  • 10.6.10 NGX_HTTP_TRY_FILES_PHASE阶段
  • 10.6.11 NGX_HTTP_CONTENT_PHASE阶段
  • 10.6.12 NGX_HTTP_LOG_PHASE阶段
  • 10.7 HTTP框架的初始化流程
  • 10.8 小结
  • 第11章 HTTP框架的执行流程
  • 11.2 新连接建立时的行为
  • 11.3 第一次可读事件的处理
  • 11.4 接收HTTP请求行
  • 11.5 接收HTTP头部
  • 11.6 处理HTTP请求
  • 11.6.2 ngx_http_core_rewrite_phase
  • 11.6.3 ngx_http_core_access_phase
  • 11.6.4 ngx_http_core_content_phase
  • 11.7 subrequest与post请求
  • 11.8 处理HTTP包体
  • 11.8.2 放弃接收包体
  • 11.9 发送HTTP响应
  • 11.9.2 ngx_http_output_filter
  • 11.9.3 ngx_http_writer
  • 11.10 结束HTTP请求
  • 11.10.2 ngx_http_free_request
  • 11.10.3 ngx_http_close_request
  • 11.10.4 ngx_http_finalize_connection
  • 11.10.5 ngx_http_terminate_request
  • 11.10.6 ngx_http_finalize_request
  • 11.11 小结
  • 第12章 upstream机制的设计与实现
  • 12.1.2 ngx_http_upstream_t数据结构的意义
  • 12.1.3 ngx_http_upstream_conf_t配置结构体
  • 12.2 启动upstream
  • 12.3 与上游服务器建立连接
  • 12.4 发送请求到上游服务器
  • 12.5 接收上游服务器的响应头部
  • 12.5.2 处理包体的3种方式
  • 12.5.3 接收响应头部的流程
  • 12.6 不转发响应时的处理流程
  • 12.6.2 默认的input_filter方法
  • 12.6.3 接收包体的流程
  • 12.7 以下游网速优先来转发响应
  • 12.7.2 转发响应的包体
  • 12.8 以上游网速优先来转发响应
  • 12.8.2 转发响应的包头
  • 12.8.3 转发响应的包体
  • 12.8.4 ngx_event_pipe_read_upstream方法
  • 12.8.5 ngx_event_pipe_write_to_downstream方法
  • 12.9 结束upstream请求
  • 12.10 小结
  • 第13章 邮件代理模块
  • 13.2 邮件模块的处理框架
  • 13.2.2 邮件类模块的定义
  • 13.2.3 邮件框架的初始化
  • 13.3 初始化请求
  • 13.3.2 初始化邮件请求的流程
  • 13.4 接收并解析客户端请求
  • 13.5 邮件认证
  • 13.5.2 与认证服务器建立连接
  • 13.5.3 发送请求到认证服务器
  • 13.5.4 接收并解析响应
  • 13.6 与上游邮件服务器间的认证交互
  • 13.6.2 向上游邮件服务器发起连接
  • 13.6.3 与邮件服务器认证交互的过程
  • 13.7 透传上游邮件服务器与客户端间的流
  • 13.8 小结
  • 第14章 进程间的通信机制
  • 14.2 共享内存
  • 14.3 原子操作
  • 14.3.2 x86架构下的原子操作
  • 14.3.3 自旋锁
  • 14.4 Nginx频道
  • 14.5 信号
  • 14.6 信号量
  • 14.7 文件锁
  • 14.8 互斥锁
  • 14.8.2 原子变量实现的ngx_shmtx_t锁
  • 14.9 小结
暂无相关搜索结果!
    展开/收起文章目录

    二维码

    手机扫一扫,轻松掌上学

    《深入理解Nginx:模块开发与架构解析-陶辉》电子书下载

    请下载您需要的格式的电子书,随时随地,享受学习的乐趣!
    EPUB 电子书

    书签列表

      阅读记录

      阅读进度: 0.00% ( 0/0 ) 重置阅读进度