超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密

开篇扯皮Nginx是一款功能强大的高性能Web和反向代理服务器 , 最初由俄罗斯程序员Igor Sysoev开发 , 而当前由IgcSysoev领导的专业公司Nginx, Inc.进行持续的维护与更新.Nginx可以在大多数UNIX或类UNIX系统上编译运行比如FreeBSD、Solaris、Linux等 , 并且官方还提供有Windows下的可执行版本 。 目前 , Nginx在 Netflix、Wordpress.com、新浪、网易、腾讯、豆瓣等国内外众多知名网站中应用 。
那么小编就在这里分享一份Nginx学习资料“深入剖析Nginx” 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图
本书不是一本关于Nginx配置指令如何使用的介绍手册 。 本书重点在于通过剖析Nginx的源代码 , 探究其功能结构及其内部实现原理 。 全书共14章和3个附录 。 首先介绍了开始剖析Nginx源代码前的准备工作 , 以及跟踪和调试的方法;然后 , 分别深入分析了Nginx的进程模型、数据结构、配置指令、主要功能模块、I/O事件处理、变量机制、客户端请求过程、Filter模块实例、负载均衡策略以及Handler模块等 。 附录部分提供了Nginx的编译模块、运行配置等有用信息 。
本书从源码剖析的角度出发 , 是程序员常用的学习和提高方法 。 本书是作者多年研读Nginx代码、深入思考和不断实践的结晶 。 本书适合系统程序员、软件开发工程师、Nginx高级运维工程师阅读参考 , 是不可多得的学习资料 。
内容概括:

  • 剖析Nginx源码前的准备工作;
  • 跟踪和调试的方法;
  • Nginx的整体架构和进程模型;
  • Nginx的数据结构 , 包括内存池、Hash和Radix tree;
  • Nginx的配置指令;
  • Nginx主要功能模块 , 包括Handler、Filter.Load-balance等;
  • I/O多路复用模型和I/O事件处理等;
  • 完整的客户端请求分析 , 包括请求处理与响应、请求定位、动态页面请求处理等;
  • Filter模块实例;
  • 负载均衡策略 , 包括加权轮询策略和IP哈希策略;
  • Nginx的编译模块、运行配置 。
第1章源码分析的准备工作:介绍开始本书内容前的准备工作 。 这是一些基础概念和工具使用 , 比如什么是Nginx、怎样安装运行Nginx、如何快速方便地阅读Nginx源码以及有哪些相关的知识站点等 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图
第2章跟踪与调试:详细介绍了跟踪与调试的多种手段与技巧 。 通过实际案例可以看到 , 这些知识能够极为方便地帮助我们理解 Nginx程序内部的相关执行逻辑 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图
第3章进程模型:从3个层次上介绍 Nginx的进程模型 。 首先是最顶层 , 通过Nginx 整体架构框图从宏观上了解Nginx;其次是中间层 , 对监控进程、工作进程、Cache进程进行逐一介绍 , 了解它们各自的主要执行逻辑;最后是交互层 , 即进程之间(套接字、共享内存)以及进程与用户之间(信号)的信息交换 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图
第4章数据结构:Nginx封装了很多有用的数据结构 , 大多较为简单一看即懂 , 但其中的内存池、Hash和Radix tree这3个数据结构较为复杂 , 所以本章对它们做了详细介绍 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图
第5章配置解析:配置指令是用户控制Nginx实际运行逻辑的主要手段 , 如何将用户设置的配置值转换到Nginx内部并控制Nginx的具体执行 , 是本章的解析重点 。
超级棒!腾讯T4大牛手撸Nginx笔记,源码之前,了无秘密文章插图