豆瓣阅读

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

    阅读
    ¥30.00
    • 导言
    • 目录
    • 作品信息

    本书是阿里巴巴资深Nginx技术专家呕心沥血之作,是作者多年的经验结晶,也是目前市场上唯一一本通过还原Nginx设计思想,剖析Nginx架构来帮助读者快速高效开发HTTP模块的图书。

    本书首先通过介绍官方Nginx的基本用法和配置规则,帮助读者了解一般Nginx模块的用法,然后重点介绍如何开发HTTP模块(含HTTP过滤模块)来得到定制的Nginx,其中包括开发一个功能复杂的模块所需要了解的各种知识,如Nginx的基础数据结构、配置项的解析、记录日志的工具以及upstream、subrequest的使用方法等。在此基础上,综合Nginx框架代码分析Nginx的架构,介绍其设计理念和技巧,进一步帮助读者自由、有效地开发出功能丰富、性能一流的Nginx模块。

    陶辉,毕业于西安交通大学计算机科学与技术专业,曾就职于华为中央软件部、腾讯QQ空间、思科中国CRDC等公司,目前在阿里巴巴云计算公司的飞天团队工作,研究方向为介于IaaS和PaaS间的弹性计算,多年以来专注于Nginx的定制化应用,对Nginx的设计与特性有深刻认识,实战经验丰富,编写过许多优秀的Nginx模块并应用于企业级产品中,同时撰写了大量关于Nginx的技术文章。擅长Linux环境下高性能服务器的开发,以及分布式环境下海量数据存储的设计开发。

    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 小结

    作者陶辉

    类别 图书 / 非虚构

    提供方华章数媒

    喜欢这本书的人也喜欢

    来自豆瓣读书的评论4