热点推荐

查看: 3889|回复: 4

深入剖析Nginx

[复制链接]

1418

主题

1532

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
39191
发表于 2018-1-30 14:10:36 | 显示全部楼层 |阅读模式

内容简介  · · · · · ·

Nginx是一款功能强大的高性能Web和反向代理服务器,最初由俄罗斯程序员Igor Sysoev开发,而当前由Igor Sysoev领导的专业公司Nginx, Inc.进行持续的维护与更新。

Nginx可以在大多数UNIX或类UNIX系统上编译运行,比如FreeBSD、Solaris、Linux等,并且官方还提供Windows下的可执行版本。目前,Nginx在Netflix 、Wordpress.com、新浪、网易、腾讯、豆瓣等国内外众多知名网站中得到应用。

从源码剖析的角度出发,是程序员常用的学习和提高方法。本书是作者多年研读Nginx源码、深入思考和不断结合实践的结晶。本书重点在于通过剖析Nginx的源码,探究其功能结构及其内部实现原理。

本书内容包括:

◎ 剖析Nginx源码前的准备工作;

◎ 跟踪和调试的方法;

◎ Nginx的整体架构和进程模型;

◎ Nginx的数据结构,包括内存池、Hash 和Radixtree ;

◎ Nginx的配置指令;

◎ Nginx主要功能模块,包括Handler 、Filter 、Load-balance等;

◎ I/O多路复用模型和I/O事件处理等;

◎ 完整的客户端请求分析,包括请求处理与响应、请求定位、动态页面请求处理等;

◎ Filter模块实例;

◎ 负载均衡策略,包括加权轮询策略和IP哈希策略;

◎ Nginx的编译模块、运行配置。

本书适合系统程序员、软件开发工程师、Nginx高级运维工程师阅读参考,对于有志从事相关工作的IT专业学生,更是不可多得的学习资料。





作者简介  · · · · · ·

高群凯,重庆大学计算机学院硕士毕业,接触Linux等自由/开源软件已有11年,在技术领域的兴趣主要包括Linux、高性能服务(Web服务如Lighttpd、Nginx、Apache等;数据库服务如Mongodb等),以及x86、MIPS(Cavium、RMI、Tilera)等。一直在深信服科技有限公司工作,专职从事Linux相关研究,对系统底层性能优化、内核oops宕机以及x86疑难问题排查等相关技术有一些研究和积累。曾著有《Lighttpd源码分析》一书。个人博客:http://lenky.info/




目录  · · · · · ·

第1章 源码分析的准备工作        1
1.1 主要特性        1
1.2 源码下载        4
1.3 源码目录结构        5
1.4 源码分析工具        6
1.5 测试辅助工具        7
1.6 编译与执行        8
1.7 其他准备        9
第2章 跟踪与调试        10
2.1 利用gdb调试        10
2.1.1 绑定Nginx到gdb        10
2.1.2 gdb的watch指令        13
2.1.3 Nginx对gdb的支持        14
2.1.4 宏        16
2.1.5 cgdb        18
2.2 利用日志信息跟踪Nginx        19
2.3 利用strace/pstack调试Nginx        21
2.4 获得Nginx程序完整执行流程        23
2.5 加桩调试        29
2.6 特殊应用逻辑的调试        31
第3章 进程模型        35
3.1 整体架构        35
3.2 核心进程模型        36
3.2.1 监控进程        36
3.2.2 工作进程        38
3.3 Cache进程模型        38
3.3.1 Cache管理进程        40
3.3.2 Cache加载进程        42
3.4 进程通信        43
3.5 共享内存        46
3.6 slab机制        50
3.7 信号处理        59
3.7.1 准备工作        60
3.7.2 设置生效        61
3.7.3 处理实例        62
第4章 数据结构        65
4.1 内存池        65
4.2 Hash        72
4.3 Radix tree        77
第5章 配置解析        81
5.1 配置文件格式        81
5.2 配置项目解析准备        84
5.3 配置文件解析流程        86
5.4 配置信息组织结构        95
5.5 配置信息的继承        108
第6章 模块综述        113
6.1 Handler模块        116
6.2 Filter模块        124
6.3 Upstream模块        127
6.4 Load-balance模块        132
第7章 事件管理机制        134
7.1 I/O多路复用模型        134
7.2 epoll模型        138
7.3 事件处理        144
7.4 负载均衡        146
7.4.1 客户端请求均衡        146
7.4.2 多核绑定        152
7.5 超时管理        153
第8章 变量机制        160
8.1 初识变量        160
8.2 支撑机制        163
8.3 脚本引擎        174
8.4 执行顺序        180
第9章 请求处理与响应        182
9.1 创建监听套接口        182
9.2 创建连接套接口        188
9.3 请求处理        191
9.4 数据响应        197
9.5 子请求        201
9.6 连接关闭        214
9.6.1 keepalive机制        217
9.6.2 延迟关闭机制        221
第10章 请求定位        228
10.1 Location的生成        228
10.2 Location的整理        232
10.3 Server的定位        239
10.4 Location的定位与使用        242
10.5 未命名location的使用        244
10.6 try_files指令        248
第11章 动态页面请求处理        252
11.1 测试环境        252
11.2 客户端发起Php请求        255
11.3 请求转发        259
11.3.1 建立连接        261
11.3.2 发送请求数据        265
11.4 数据响应        267
11.4.1 接收并处理Fastcgi响应头        267
11.4.2 接收并发送Fastcgi响应体        273
第12章 过滤模块        283
12.1 ngx_http_not_modified_filter_module        283
12.1.1 304状态码        283
12.1.2 412状态码        285
12.2 ngx_http_headers_filter_module        288
12.2.1 HTTP缓存功能的扩展        289
12.2.2 增加自定义响应头        290
12.3 ngx_http_gzip_filter_module        291
12.4 ngx_http_range_filter_module        293
第13章 负载均衡        299
13.1 负载均衡策略        300
13.2 加权轮询        301
13.2.1 准备工作        301
13.2.2 选择后端服务器        304
13.2.3 后端服务器权值计算        307
13.2.4 释放后端服务器        307
13.3 IP哈希        310
选择后端服务器        310
13.4 两种策略对比        313
第14章 访问控制        315
14.1 禁止指定IP访问        315
14.2 密码认证访问        318
14.3 其他访问控制措施        327
14.3.1 禁止用户通过IP地址访问服务器        327
14.3.2 禁止对某目录或某类文件的访问        327
附录A        329
附录B        332
附录C        333
· · · · ·


下载地址回复可见:
游客,如果您要查看本帖隐藏内容请回复



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

399

帖子

1369

积分

永久VIP会员

Rank: 3Rank: 3

积分
1369
发表于 2018-6-8 14:35:35 | 显示全部楼层
深入剖析Nginx
回复

使用道具 举报

0

主题

108

帖子

475

积分

永久VIP会员

Rank: 3Rank: 3

积分
475
发表于 2018-7-7 10:47:50 | 显示全部楼层
厉害啊,深入剖析Nginx
回复

使用道具 举报

0

主题

45

帖子

151

积分

Lv1码农小白

Rank: 1

积分
151
发表于 2018-11-28 13:10:38 | 显示全部楼层

深入剖析Nginx
回复

使用道具 举报

8

主题

298

帖子

1202

积分

永久VIP会员

Rank: 3Rank: 3

积分
1202
发表于 2022-9-10 23:40:54 | 显示全部楼层
66666666666
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表