图书介绍

Nginx模块开发指南 使用C++11和Boost程序库PDF|Epub|txt|kindle电子书版本网盘下载

Nginx模块开发指南 使用C++11和Boost程序库
  • 罗剑锋著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121272943
  • 出版时间:2015
  • 标注页数:360页
  • 文件大小:113MB
  • 文件页数:374页
  • 主题词:互联网络-网络服务器-程序设计-指南;C语言-程序设计-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Nginx模块开发指南 使用C++11和Boost程序库PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第0章 导读1

0.1 关于本书1

0.2 读者对象2

0.3 读者要求3

0.4 运行环境3

0.5 本书的结构4

0.6 如何阅读本书6

0.7 本书的源码6

第1章 Nginx入门7

1.1 关于Nginx7

1.1.1 历史8

1.1.2 特点8

1.1.3 进程模型9

1.1.4 版本10

1.2 安装Nginx11

1.2.1 准备工作11

1.2.2 快速安装11

1.2.3 运行命令12

1.2.4 验证安装13

1.2.5 定制安装14

1.3 配置Nginx15

1.3.1 配置文件格式16

1.3.2 进程配置17

1.3.3 运行日志配置18

1.3.4 http配置18

1.3.5 server配置19

1.3.6 location配置20

1.3.7 文件访问配置21

1.3.8 upstream配置22

1.3.9 变量22

1.4 总结24

第2章 Nginx开发准备25

2.1 开发环境25

2.1.1 C++标准25

2.1.2 Boost程序库26

2.2 Nginx的目录结构26

2.3 Nginx源码的特点27

2.3.1 代码风格28

2.3.2 代码优化28

2.3.3 面向对象思想28

2.4 在Nginx里使用C++29

2.4.1 实现原则29

2.4.2 代码风格29

2.4.3 编译脚本30

2.5 基本的C++包装类32

2.5.1 类定义32

2.5.2 构造和析构33

2.5.3 成员函数33

2.6 总结34

第3章 Nginx基础设施35

3.1 头文件35

3.2 整数类型36

3.2.1 标准整数类型36

3.2.2 自定义整数类型36

3.2.3 无效值37

3.2.4 C++封装38

3.3 错误处理41

3.3.1 错误码定义41

3.3.2 C++异常41

3.4 内存池44

3.4.1 结构定义44

3.4.2 操作函数45

3.4.3 C++封装45

3.4.4 清理机制48

3.4.5 C++内存分配器50

3.5 字符串52

3.5.1 结构定义52

3.5.2 操作函数53

3.5.3 C++封装55

3.6 时间与日期58

3.6.1 时间结构定义58

3.6.2 时间操作函数58

3.6.3 日期结构定义59

3.6.4 日期操作函数60

3.6.5 C++封装时间61

3.6.6 C++封装日期62

3.7 运行日志64

3.7.1 结构定义65

3.7.2 操作函数65

3.7.3 C++封装66

3.8 总结68

第4章 Nginx高级数据结构71

4.1 动态数组71

4.1.1 结构定义71

4.1.2 操作函数73

4.1.3 C++封装73

4.2 单向链表76

4.2.1 结构定义77

4.2.2 操作函数78

4.2.3 C++迭代器79

4.2.4 C++封装链表81

4.3 双端队列84

4.3.1 结构定义84

4.3.2 操作函数85

4.3.3 C++节点87

4.3.4 C++迭代器89

4.3.5 C++封装队列90

4.4 缓冲区95

4.4.1 结构定义95

4.4.2 操作函数97

4.4.3 C++封装98

4.5 数据块链100

4.5.1 结构定义100

4.5.2 操作函数101

4.5.3 C++节点101

4.5.4 C++迭代器103

4.5.5 C++封装数据块链105

4.6 键值对107

4.6.1 简单键值对107

4.6.2 散列表键值对107

4.7 总结108

第5章 Nginx开发综述111

5.1 最简单的Nginx模块111

5.1.1 模块设计112

5.1.2 配置解析112

5.1.3 处理函数114

5.1.4 模块集成116

5.1.5 编译脚本和命令117

5.1.6 测试验证118

5.2 Nginx开发基本流程119

5.2.1 设计119

5.2.2 开发119

5.2.3 编译120

5.2.4 测试验证120

5.2.5 调优121

5.3 Nginx的模块121

5.3.1 模块的数据结构121

5.3.2 模块的种类123

5.3.3 http模块124

5.3.4 模块的类图124

5.3.5 模块的组织形式125

5.4 Nginx的配置127

5.4.1 结构定义128

5.4.2 配置解析的基本流程131

5.4.3 配置数据的存储模型133

5.4.4 访问配置数据138

5.4.5 确定配置数据的位置138

5.4.6 配置解析函数140

5.4.7 配置数据的合并141

5.4.8 配置指令的类型142

5.5 Nginx模块源码分析143

5.5.1 ngx core_module143

5.5.2 ngx errlog_module146

5.6 Nginx的编译脚本147

5.6.1 运行机制147

5.6.2 使用的变量148

5.7 C++封装模块信息149

5.7.1 NgxModuleConfig149

5.7.2 NgxModule153

5.8 C++封装配置解析155

5.8.1 NgxCommand155

5.8.2 NgxTake155

5.8.3 NGX_MODULE_NULL157

5.9 C++开发Nginx模块158

5.9.1 C++模块的基本组成158

5.9.2 配置信息类159

5.9.3 业务逻辑类160

5.9.4 模块集成类162

5.9.5 实现源文件164

5.9.6 增加更多功能164

5.10 总结165

第6章 Nginx HTTP框架综述169

6.1 HTTP框架简介169

6.1.1 模块分类169

6.1.2 处理流程170

6.1.3 请求结构体172

6.1.4 请求的处理阶段173

6.1.5 请求的环境数据175

6.2 HTTP处理引擎176

6.2.1 处理函数原型176

6.2.2 处理函数的存储方式176

6.2.3 内容处理函数177

6.2.4 引擎的数据结构178

6.2.5 引擎的初始化179

6.2.6 引擎的运行机制181

6.2.7 日志阶段的处理182

6.3 HTTP过滤引擎183

6.3.1 过滤函数原型183

6.3.2 过滤函数链表184

6.3.3 过滤函数的顺序185

6.3.4 过滤链表的运行机制187

6.3.5 请求体过滤188

6.4 Nginx模块源码分析188

6.4.1 ngx_http_static_module188

6.4.2 ngx_http_not_modified_filter_module189

6.5 C++封装190

6.5.1 NgxModuleCtx191

6.5.2 NgxHttpCoreModule193

6.5.3 NgxFilter195

6.6 总结197

第7章 Nginx HTTP请求处理199

7.1 HTTP状态码199

7.2 请求结构体200

7.3 请求行201

7.3.1 请求方法201

7.3.2 协议版本号202

7.3.3 资源标识符202

7.4 请求头203

7.5 请求体204

7.5.1 结构定义205

7.5.2 操作函数205

7.6 响应头206

7.6.1 结构定义206

7.6.2 操作函数207

7.7 响应体207

7.8 C++封装208

7.8.1 NgxHeaders208

7.8.2 NgxRequestBody211

7.8.3 NgxRequest212

7.8.4 NgxResponse213

7.9 开发HTTP处理模块216

7.9.1 模块设计216

7.9.2 配置信息类217

7.9.3 业务逻辑类217

7.9.4 模块集成类219

7.9.5 实现源文件221

7.9.6 编译脚本221

7.9.7 测试验证221

7.10 开发HTTP过滤模块222

7.10.1 模块设计222

7.10.2 配置信息类222

7.10.3 环境数据类223

7.10.4 业务逻辑类223

7.10.5 模块集成类227

7.10.6 实现源文件228

7.10.7 编译脚本228

7.10.8 测试验证228

7.11 总结229

第8章 Nginx HTTP请求转发231

8.1 upstream框架简介231

8.1.1 工作原理232

8.1.2 请求结构体233

8.1.3 上游结构体234

8.1.4 上游配置参数236

8.2 upstream运行机制237

8.2.1 回调函数237

8.2.2 初始化upstream239

8.2.3 设置upstream239

8.2.4 启动upstream241

8.2.5 处理upstream数据241

8.3 load-balanee运行机制242

8.3.1 结构定义243

8.3.2 初始化模块入口247

8.3.3 初始化IP地址列表248

8.3.4 初始化算法250

8.3.5 执行算法251

8.4 Nginx模块源码分析251

8.4.1 ngx_http_memcached_module251

8.4.2 ngx_http_upstream_ip_hash_module254

8.5 C++封装257

8.5.1 NgxUpstream257

8.5.2 NgxUpstreamHelper259

8.5.3 NgxHttpUpstreamModule261

8.5.4 NgxLoadBalance263

8.6 开发upstream模块264

8.6.1 模块设计264

8.6.2 配置信息类264

8.6.3 业务逻辑类265

8.6.4 模块集成类268

8.6.5 实现源文件269

8.6.6 编译脚本269

8.6.7 测试验证269

8.7 开发load-balance模块270

8.7.1 模块设计271

8.7.2 配置信息类271

8.7.3 业务逻辑类271

8.7.4 模块集成类273

8.7.5 实现源文件275

8.7.6 编译脚本275

8.7.7 测试验证275

8.8 总结276

第9章 NginxHTTP子请求277

9.1 子请求简介277

9.1.1 工作原理278

9.1.2 请求结构体279

9.1.3 回调函数280

9.1.4 待处理请求链表282

9.1.5 子请求存储结构282

9.2 子请求运行机制283

9.2.1 创建子请求283

9.2.2 处理引擎287

9.2.3 数据整理288

9.3 C++封装290

9.3.1 NgxSubRequestHandler290

9.3.2 NgxSubRequest292

9.4 数据回传模块293

9.4.1 模块设计293

9.4.2 环境数据类293

9.4.3 业务逻辑类295

9.4.4 模块集成类297

9.4.5 编译脚本298

9.5 在模块里使用子请求299

9.5.1 模块设计299

9.5.2 配置信息类299

9.5.3 业务逻辑类300

9.5.4 测试验证303

9.6 总结304

第10章 Nginx变量305

10.1 结构定义305

10.1.1 变量值305

10.1.2 变量访问对象306

10.1.3 变量的存储307

10.1.4 请求结构体307

10.2 运行机制308

10.2.1 注册变量308

10.2.2 获取变量309

10.3 C++封装310

10.3.1 NgxVariableValue310

10.3.2 NgxVariable311

10.3.3 NgxVariables312

10.3.4 NgxVarManager313

10.3.5 NgxVariableValueProxy314

10.4 在模块里使用变量315

10.4.1 添加变量316

10.4.2 读写变量317

10.5 总结317

第11章 Nginx辅助设施319

11.1 摘要算法319

11.1.1 MD5319

11.1.2 SHA-1320

11.1.3 MurmurHash321

11.1.4 C++封装321

11.2 编码和解码324

11.2.1 CRC校验324

11.2.2 Base64编码解码325

11.2.3 URI编码解码326

11.2.4 HTML和JSON编码327

11.3 正则表达式327

11.4 共享内存328

11.4.1 结构定义328

11.4.2 操作函数329

11.4.3 C++共享内存329

11.5 定时器331

11.5.1 结构定义331

11.5.2 操作函数332

11.5.3 C++定时器事件332

11.5.4 C++定时器工厂333

11.6 总结335

第12章 Nginx与设计模式337

12.1 设计模式简介337

12.2 框架级别的模式337

12.3 业务级别的模式339

12.4 代码级别的模式340

12.5 总结342

第13章 结束语343

13.1 本书的遗憾343

13.2 下一步344

13.3 临别赠言345

附录A 推荐书目347

附录B GDB调试简介349

附录C Nginx的字符串格式化351

附录D Nginx里的void*变量353

附录E Nginx C++模块简介355

附录F Nginx Lua模块简介357

热门推荐