写点什么

你以为自己 Nginx 掌握的很好?这份 1330 页 Nginx 笔记,颠覆你的认知!

作者:Java高工P7
  • 2021 年 11 月 11 日
  • 本文字数:2176 字

    阅读完需:约 7 分钟

本文将从目录、主要内容和总结这三部分的结构给大家介绍,希望大家能够喜欢!!

目录

主要内容

本书共三部分,致力于说明开发 Nginx 模块的必备知识,第 1 版发行以后,深受广大读者的喜爱。然而由于 Nginx 功能繁多且性能强大,以致必须了解的基本技能也很庞杂,而第 1 版成书匆忙,缺失了几个进阶的技巧描述,因此第 2 版在此基础上进行了完善。书中首先通过介绍官方 Nginx 的基本用法和配置规则,帮助读者了解一般 Nginx 模块的用法,然后重点介绍了如何开发 HTTP 模块(含 HTTP 过滤模块)来得到定制化的 Nginx,其中包括开发一个功能复杂的模块所需要了解的各种知识,并对内存池的实现细节及 TCP 协议进行了详细介绍;接着,综合 Nginx 框架代码分析了 Nginx 架构的设计理念和技巧,此外,还新增了如何在模块中支持 HTTP 变量,以及与 slab 共享内存等相关的内容,相信通过完善,可进一步帮助读者更好地开发出功能丰富、性能一流的 Nginx 模块。


第一部分针对初级读者,介绍 Nginx 关于获取编译运行的基本知识。



本章主要向读者介绍如下内容


**第 1 章研究 Nginx 前的准备工作:**什么是 Nginx?它有哪些特点?我们选择 Nginx 的理由是什么?如何编译安装 Nginx?这种安装方式背后隐藏的又是什么样的思想呢?本章将会回答上述问题。



**第 2 章 Nginx 的配置:**通过本章的学习,读者可以:熟练地配置一个静态 Web 服务器:对影响 Web 服务器性能的各个配置项有深入的理解:对配置语法有全面的了解。通过互联网或其他途径得到任意模块的配置说明,然后可通过修改 nginx. conf 文件来使用这些模块的功能。



第二部分针对中级读者,以一个例子为主线,告诉读者如何开发一个 http 模块,这部分读者不需要深入了解 Nginx 的细节,只需要知道如何实现一个基本的 http 模块。



本章主要向读者介绍如下内容


**第 3 章开发一个简单的 HTTP 模块:**本章不会深入探讨 HTTP 模块与 Nginx 的各个核心模块是如何配合工作的,而且这部分提到的每个接口将只涉及用法而不涉及实现原理,在第 3 部分我们才会进一步阐述本章提到的许多接口是如何实现异步访问的。



**第 4 章配置、error 日志和请求上下文:**编写全异步的 HTTP 模块时,必须要有上下文来维持一个请求的必要信息,在 4.5 节中,首先探讨请求的上下文与全异步实现的 Nginx 服务之间的关系,以及如何使用 HTTP 上下文,然后简单描述 HTTP 框架是如何管理请求的上下文结构体的。



**第 5 章访问第三方服务:**本章仍然以 mytest 模块为例进行说明,但会扩展 mytest 的功能。注意,文中没有提及的代码(如定义 nytest 模块)都与第 3 章完全相同。



**第 6 章开发一个简单的 HTTP 过滤模块:**本章开始介绍如何开发 HTTP 过滤模块。



**第 7 章 Nginx 提供的高级数据结构:**本章将介绍 Nginx 实现的 6 个基本容器,熟练使用这 6 个基本容器,将会大大提高开发 Nginx 模块的效率,也可以更加方便地实现复杂的功能。



第三部分针对高级读者,这是本书的重点,彻底解析 Nginx 架构,深入探讨 Nginx 各种设计的目的与意义,并对第二部分使用到的一些特性进行代码设计实现上的探索。读者读完本部分,会对整个 Nginx 架构有清晰的认识,可以编写各种模块(不局限于 http 模块)插入到 Nginx 中,从而定制自己的 Nginx。



本章主要向读者介绍如下内容


**第 8 章 Nginx 基础架构:**在本书的第二部分,我们已经学习了如何开发 HTTP 模块,这使得我们可以实现高性能、定制化的 Web 服务器功能。



**第 9 章事件模块:**本章将全面探讨 Nginx 的事件驱动机制是如何工作的。



**第 10 章 HTTP 框架的初始化:**从本章开始将探讨事件消费模块的大户”HTP 模块。Nginx 作为 Web 服务器,其 HTTP 模块的数量远超过了其他 4 类模块(核心模块、事件模块、配置模块、邮件模块),其代码规模也同样遥遥领先。



**第 11 章 HTTP 框架的执行流程:**本章将介绍动态的 HTTP 框架,主要探讨在请求的生命周期中,基于事件驱动的 HTTP 框架是怎样处理网络事件以及怎样集成各个 HTTP 模块来共同处理 HTTP 请求的,同时,还会介绍为了简化 HTTP 模块的开发难度而提供的多个非阻塞的异步方法。



**第 12 章 upstream 机制的设计与实现:**本章将讨论 ustream 机制的设计和实现,以此帮助读者全面了解如何使用 upstream 访间上游服务器。



**第 13 章邮件代理模块:**本章首先介绍邮件代理功能到底做了哪些事情,接下来会分析 N


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


ginx 如何实现邮件代理功能。



**第 14 章进程间的通信机制:**本章并不是说明 Linux F 有哪些进程通信方式,而是为了说明 Nginx 选择了哪些方式来同 Bmaster 进程和多个 worker 进程间的数据,Nginx 框架是怎样重新封装了这些进程间通信方式



**第 15 章变量:**Nginx 有许多功能体现在 nginx.com 这个脚本式的配置文件里,这些配置项的格式五花八门、风格各异,原因是它们都由各 Nginx 模块自定义,并没有什么统一 -的标准,这在第 4 章已经提及。



**第 16 章 slab 共享内存:**本章除了说明如何使用它以外,同时还会详细介绍实现原理,从中我们可以发现它的设计初衷及不适用的场景。Slab 实现的源代码非常高效,然而却也有些生涩,本章会较多地通过源代码说明各种二进制位操作,以帮助读者朋友学习 slab 的编码艺术。



这份【深入理解 Nginx 模块开发与架构解析】文档共有 1330 页,需要完整版的朋友,可以点赞此文关注小编,点这里来获取!!


当然,单单有文档看是远远不够的,还有视频和相匹配的课件进行学习提升,努力把 Nginx、网络这一块儿给搞明白,相信一定会有不凡的人生!!

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
你以为自己Nginx掌握的很好?这份1330页Nginx笔记,颠覆你的认知!