logo
分类于: 编程语言 计算机基础 互联网 人工智能

简介

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

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

资源最后更新于 2020-03-29 04:03:14

作者:陶辉

出版社:出版社机械工业出版社

出版日期:2013-03

ISBN:9787111414780

文件格式: pdf

标签: 网络 计算机 编程 架构 Nginx 服务器

简介· · · · · ·

本书是阿里巴巴资深Nginx技术专家呕心沥血之作,是作者多年的经验结晶,也是目前市场上唯一一本通过还原Nginx设计思想,剖析Nginx架构来帮助读者快速高效开发HTTP模块的图书。本书首先通过介绍官方Nginx的基本用法和配置规则,帮助读者了解一般Nginx模块的用法,然后重点介绍如何开发HTTP模块(含HTTP过滤模块)来得到定制的Nginx,其中包括开发一个功能复杂的模块所需要了解的各种知识,如Nginx的基础数据结构、配置项的解析、记录日志的工具以及upstream、subrequest的使用方法等。在此基础上,综合Nginx框架代码分析Nginx的架构,介绍其设计理念和技巧,进一步帮助读者自由、有效地开发出功能丰富、性能一流的Nginx模块。陶辉,毕业于西安交通大学计算机科学与技术专业,曾就职于华为中央软件部、腾讯QQ空间、思科中国CRDC等公司,目前在阿里巴巴云计算公司的飞天团队工作,研究方向为介于IaaS和PaaS间的弹性计算,多年以来专注于Nginx的定制化应用,对Nginx的设计与特性有深刻认识,实战经验丰富,编写过许多优秀的Nginx模块并应用于企业级产品中,同时撰写了大量关于Nginx的技术文章。擅长Linux环境下高性能服务器的开发,以及分布式环境下海量数据存储的设计开发。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 前言
  2. 为什么要写这本书
  3. 读者对象
  4. 背景知识
  5. 如何阅读本书
  6. 勘误和支持
  7. 致谢
  8. 第一部分 Nginx能帮我们做什么
  9. 第1章 研究Nginx前的准备工作
  10. 1.1 Nginx是什么
  11. 1.2 为什么选择Nginx
  12. 1.3 准备工作
  13. 1.4 编译安装Nginx
  14. 1.5 configure详解
  15. 1.6 Nginx的命令行控制
  16. 1.7 小结
  17. 第2章 Nginx的配置
  18. 2.1 运行中的Nginx进程间的关系
  19. 2.2 Nginx配置的通用语法
  20. 2.3 Nginx服务的基本配置
  21. 2.4 用HTTP核心模块配置一个静态Web服务器
  22. 2.5 用HTTP proxy module配置一个反向代理服务器
  23. 2.6 小结
  24. 第二部分 如何编写HTTP模块
  25. 第3章 开发一个简单的HTTP模块
  26. 3.1 如何调用HTTP模块
  27. 3.2 准备工作
  28. 3.3 如何将自己的HTTP模块编译进Nginx
  29. 3.4 HTTP模块的数据结构
  30. 3.5 定义自己的HTTP模块
  31. 3.6 处理用户请求
  32. 3.7 发送响应
  33. 3.8 将磁盘文件作为包体发送
  34. 3.9 用C++语言编写HTTP模块
  35. 3.10 小结
  36. 第4章 配置、error日志和请求上下文
  37. 4.1 http配置项的使用场景
  38. 4.2 怎样使用http配置
  39. 4.3 HTTP配置模型
  40. 4.4 error日志的用法
  41. 4.5 请求的上下文
  42. 4.6 小结
  43. 第5章 访问第三方服务
  44. 5.1 upstream的使用方式
  45. 5.2 回调方法的执行场景
  46. 5.3 使用upstream的示例
  47. 5.4 subrequest的使用方式
  48. 5.5 subrequest执行过程中的主要场景
  49. 5.6 subrequest使用的例子
  50. 5.7 小结
  51. 第6章 开发一个简单的HTTP过滤模块
  52. 6.1 过滤模块的意义
  53. 6.2 过滤模块的调用顺序
  54. 6.3 HTTP过滤模块的开发步骤
  55. 6.4 HTTP过滤模块的简单例子
  56. 6.5 小结
  57. 第7章 Nginx提供的高级数据结构
  58. 7.1 Nginx提供的高级数据结构概述
  59. 7.2 ngx_queue_t双向链表
  60. 7.3 ngx_array_t动态数组
  61. 7.4 ngx_list_t单向链表
  62. 7.5 ngx_rbtree_t红黑树
  63. 7.6 ngx_radix_tree_t基数树
  64. 7.7 支持通配符的散列表
  65. 7.8 小结
  66. 第三部分 深入Nginx
  67. 第8章 Nginx基础架构
  68. 8.1 Web服务器设计中的关键约束
  69. 8.2 Nginx的架构设计
  70. 8.3 Nginx框架中的核心结构体ngx_cycle_t
  71. 8.4 Nginx启动时框架的处理流程
  72. 8.5 worker进程是如何工作的
  73. 8.6 master进程是如何工作的
  74. 8.7 小结
  75. 第9章 事件模块
  76. 9.1 事件处理框架概述
  77. 9.2 Nginx事件的定义
  78. 9.3 Nginx连接的定义
  79. 9.4 ngx_events_module核心模块
  80. 9.5 ngx_event_core_module事件模块
  81. 9.6 epoll事件驱动模块
  82. 9.7 定时器事件
  83. 9.8 事件驱动框架的处理流程
  84. 9.9 文件的异步I/O
  85. 9.10 小结
  86. 第10章 HTTP框架的初始化
  87. 10.1 HTTP框架概述
  88. 10.2 管理HTTP模块的配置项
  89. 10.3 监听端口的管理
  90. 10.4 server的快速检索
  91. 10.5 location的快速检索
  92. 10.6 HTTP请求的11个处理阶段
  93. 10.7 HTTP框架的初始化流程
  94. 10.8 小结
  95. 第11章 HTTP框架的执行流程
  96. 11.1 HTTP框架执行流程概述
  97. 11.2 新连接建立时的行为
  98. 11.3 第一次可读事件的处理
  99. 11.4 接收HTTP请求行
  100. 11.5 接收HTTP头部
  101. 11.6 处理HTTP请求
  102. 11.7 subrequest与post请求
  103. 11.8 处理HTTP包体
  104. 11.9 发送HTTP响应
  105. 11.10 结束HTTP请求
  106. 11.11 小结
  107. 第12章 upstream机制的设计与实现
  108. 12.1 upstream机制概述
  109. 12.2 启动upstream
  110. 12.3 与上游服务器建立连接
  111. 12.4 发送请求到上游服务器
  112. 12.5 接收上游服务器的响应头部
  113. 12.6 不转发响应时的处理流程
  114. 12.7 以下游网速优先来转发响应
  115. 12.8 以上游网速优先来转发响应
  116. 12.9 结束upstream请求
  117. 12.10 小结
  118. 第13章 邮件代理模块
  119. 13.1 邮件代理服务器的功能
  120. 13.2 邮件模块的处理框架
  121. 13.3 初始化请求
  122. 13.4 接收并解析客户端请求
  123. 13.5 邮件认证
  124. 13.6 与上游邮件服务器间的认证交互
  125. 13.7 透传上游邮件服务器与客户端间的流
  126. 13.8 小结
  127. 第14章 进程间的通信机制
  128. 14.1 概述
  129. 14.2 共享内存
  130. 14.3 原子操作
  131. 14.4 Nginx频道
  132. 14.5 信号
  133. 14.6 信号量
  134. 14.7 文件锁
  135. 14.8 互斥锁
  136. 14.9 小结