Nginx是由俄罗斯工程师Igor Sysoev开发的一个高性能Web服务器,运行效率远超传统的Apache、Tomcat,是世界第二大Web服务器,被国内外诸多**互联网公司采用。 Nginx的一个突出特点是其灵活优秀的模块化架构,可以在不修改核心的前提下增加任意功能,自2004年发布至今,已经拥有百余个官方及非官方的功能模块(如fastcgi、memcached、mysql等),使得Nginx成长为了一个近乎"全能”的服务器软件。 Nginx以纯C语言实现,开发扩展功能模块也大多使用C语言,但由于C语言固有的过程式特性,编写、调试代码都较麻烦——特别是对于Nginx的初学者。本书深入源码,详细解析了模块体系、配置指令、HTTP框架等Nginx核心运行机制,并在此基础上讲解如何使用C++和Boost程序库来开发Nginx模块,充分利用现代C++里的大量新特性和库组件,让Nginx的模块开发变得更加便捷、轻松和愉快。

目录

作者介绍

内容简介

前言

第0章 导读

0.1 关于本书

0.2 读者对象

0.3 读者要求

0.4 运行环境

0.5 本书的结构

0.6 如何阅读本书

0.7 本书的源码

注释

第1章 Nginx入门

1.1 关于Nginx

1.2 安装Nginx

1.3 配置Nginx

1.4 总结

注释

第2章 Nginx开发准备

2.1 开发环境

2.2 Nginx的目录结构

2.3 Nginx源码的特点

2.4 在Nginx里使用C++

2.5 基本的C++包装类

2.6 总结

注释

第3章 Nginx基础设施

3.1 头文件

3.2 整数类型

3.3 错误处理

3.4 内存池

3.5 字符串

3.6 时间与日期

3.7 运行日志

3.8 总结

注释

第4章 Nginx高级数据结构

4.1 动态数组

4.2 单向链表

4.3 双端队列

4.4 缓冲区

4.5 数据块链

4.6 键值对

4.7 总结

注释

第5章 Nginx开发综述

5.1 最简单的Nginx模块

5.2 Nginx开发基本流程

5.3 Nginx的模块

5.4 Nginx的配置

5.5 Nginx模块源码分析

5.6 Nginx的编译脚本

5.7 C++封装模块信息

5.8 C++封装配置解析

5.9 C++开发Nginx模块

5.10 总结

注释

第6章 NginxHTTP框架综述

6.1 HTTP框架简介

6.2 HTTP处理引擎

6.3 HTTP过滤引擎

6.4 Nginx模块源码分析

6.5 C++封装

6.6 总结

注释

第7章 NginxHTTP请求处理

7.1 HTTP状态码

7.2 请求结构体

7.3 请求行

7.4 请求头

7.5 请求体

7.6 响应头

7.7 响应体

7.8 C++封装

7.9 开发HTTP处理模块

7.10 开发HTTP过滤模块

7.11 总结

注释

第8章 NginxHTTP请求转发

8.1 upstream框架简介

8.2 upstream运行机制

8.3 load-balance运行机制

8.4 Nginx模块源码分析

8.5 C++封装

8.6 开发upstream模块

8.7 开发load-balance模块

8.8 总结

注释

第9章 NginxHTTP子请求

9.1 子请求简介

9.2 子请求运行机制

9.3 C++封装

9.4 数据回传模块

9.5 在模块里使用子请求

9.6 总结

注释

第10章 Nginx变量

10.1 结构定义

10.2 运行机制

10.3 C++封装

10.4 在模块里使用变量

10.5 总结

注释

第11章 Nginx辅助设施

11.1 摘要算法

11.2 编码和解码

11.3 正则表达式

11.4 共享内存

11.5 定时器

11.6 总结

注释

第12章 Nginx与设计模式

12.1 设计模式简介

12.2 框架级别的模式

12.3 业务级别的模式

12.4 代码级别的模式

12.5 总结

注释

第13章 结束语

13.1 本书的遗憾

13.2 下一步

13.3 临别赠言

注释

附录A 推荐书目

附录B GDB调试简介

附录C Nginx的字符串格式化

附录D Nginx里的void*变量

附录E NginxC++模块简介

附录F NginxLua模块简介

查看全部
书评
查看更多
请您登录后发表评论 登录 | 注册
我的评分:
提交
0/400