![]() 作者:罗剑锋 出版社: 电子工业出版社 出版年: 2017-6 页数: 632 定价: 99.00 装帧: 平装 ISBN: 9787121314575 内容简介 · · · · · ·Nginx是著名的Web服务器,性能优异,运行效率远超传统的Apache、Tomcat,广泛应用于国内外诸多顶级互联网公司。 Nginx的一个突出特点是其灵活优秀的模块化架构,可以在不修改核心的前提下增加任意功能,自2004年发布至今,已经拥有百余个官方及非官方的功能模块(如proxy、mysql、redis、rtmp、lua等),使得Nginx成长为了一个近乎“全能”的服务器软件。 Nginx功能强大,架构复杂,学习、维护和开发的门槛较高。为了帮助读者跨越这一障碍,《Nginx完全开发指南:使用C、C++和OpenResty》深入最新的Nginx源码(Stable 1.12.0),详细剖析了模块体系、动态插件、功能框架、进程模型、事件驱动、线程池、TCP/UDP/HTTP处理等Nginx核心运行机制,在此基础上讲解如何使用C、C++、Lua、ngi... 作者简介 · · · · · ·罗剑锋(网名Chrono)1996年就读于东北财经大学;1997年开始接触C/C++;1998年参加计算机软件专业技术资格和水平考试,获高级程序员资质;2003年毕业于北京理工大学,获计算机专业硕士学位。主要研究方向为C/C++、设计模式、高性能网络服务器开发,业余爱好是阅读、旅游、欣赏音乐和电影。 目录 · · · · · ·第0章 导读 10.1 关于本书 1 0.2 读者对象 2 0.3 读者要求 3 0.4 运行环境 4 0.5 本书的结构 4 · · · · · ·() 第0章 导读 1 0.1 关于本书 1 0.2 读者对象 2 0.3 读者要求 3 0.4 运行环境 4 0.5 本书的结构 4 0.6 如何阅读本书 7 0.7 本书的源码 8 第1章 Nginx入门 9 1.1 关于Nginx 9 1.2 安装Nginx 13 1.3 配置Nginx 19 1.4 总结 30 第2章 Nginx开发准备 31 2.1 开发环境 31 2.2 目录结构 32 2.3 源码特点 34 2.4 使用C++ 35 2.5 C++包装类 38 2.6 总结 40 第3章 Nginx基础设施 41 3.1 头文件 41 3.2 整数类型 42 3.3 错误处理 47 3.4 内存池 50 3.5 字符串 58 3.6 时间与日期 64 3.7 运行日志 70 3.8 总结 74 第4章 Nginx高级数据结构 77 4.1 动态数组 77 4.2 单向链表 83 4.3 双端队列 90 4.4 红黑树 101 4.5 缓冲区 108 4.6 数据块链 113 4.7 键值对 120 4.8 总结 121 第5章 Nginx开发综述 123 5.1 最简单的模块 123 5.2 开发基本流程 131 5.3 编译脚本 134 5.4 总结 137 第6章 Nginx模块体系 139 6.1 模块架构 139 6.2 配置解析 152 6.3 源码分析 168 6.4 C++封装 172 6.5 C++开发模块 180 6.6 总结 187 第7章 Nginx HTTP框架综述 191 7.1 框架简介 191 7.2 处理引擎 198 7.3 过滤引擎 205 7.4 源码分析 211 7.5 C++封装 213 7.6 总结 219 第8章 Nginx HTTP请求处理 221 8.1 状态码 221 8.2 请求结构体 222 8.3 请求行 223 8.4 请求头 225 8.5 请求体 226 8.6 响应头 227 8.7 响应体 229 8.8 源码分析 229 8.9 C++封装 232 8.10 开发handler模块 241 8.11 开发filter模块 246 8.12 总结 253 第9章 Nginx HTTP请求转发 255 9.1 框架简介 255 9.2 请求转发机制 261 9.3 负载均衡机制 266 9.4 源码分析 275 9.5 C++封装 281 9.6 开发upstream模块 288 9.7 开发load-balance模块 294 9.8 总结 299 第10章 Nginx HTTP子请求 301 10.1 子请求简介 301 10.2 子请求运行机制 307 10.3 C++封装 314 10.4 数据回传模块 317 10.5 在模块里使用子请求 323 10.6 总结 328 第11章 Nginx变量 329 11.1 结构定义 329 11.2 运行机制 332 11.3 复杂变量 334 11.4 C++封装 335 11.5 在模块里使用变量 341 11.6 在模块里使用复杂变量 343 11.7 总结 345 第12章 Nginx辅助设施 347 12.1 摘要算法 347 12.2 编码和解码 352 12.3 正则表达式 356 12.4 共享内存 356 12.5 总结 359 第13章 Nginx进程机制 361 13.1 基本系统调用 361 13.2 进程系统调用 362 13.3 信号系统调用 364 13.4 结构定义 365 13.5 全局变量 368 13.6 启动过程 370 13.7 信号处理 377 13.8 单进程模式 379 13.9 多进程模式 382 13.10 总结 390 第14章 Nginx事件机制 393 14.1 基本系统调用 393 14.2 socket系统调用 395 14.3 epoll系统调用 399 14.4 结构定义 403 14.5 定时器 415 14.6 模块体系 419 14.7 全局变量 425 14.8 运行机制 427 14.9 总结 452 第15章 Nginx多线程机制 455 15.1 eventfd系统调用 455 15.2 pthread系统调用 456 15.3 结构定义 457 15.4 事件通知 460 15.5 运行机制 463 15.6 在模块里使用多线程 469 15.7 总结 474 第16章 Nginx Stream机制 477 16.1 模块体系 477 16.2 监听端口 483 16.3 处理引擎 491 16.4 过滤引擎 495 16.5 运行机制 496 16.6 开发stream模块 507 16.7 总结 514 第17章 Nginx HTTP机制 517 17.1 结构定义 517 17.2 初始化连接 519 17.3 执行引擎 528 17.4 处理请求体 534 17.5 发送数据 540 17.6 结束请求 543 17.7 总结 548 第18章 Nginx与设计模式 551 18.1 设计模式简介 551 18.2 框架级别的模式 551 18.3 业务级别的模式 553 18.4 代码级别的模式 554 18.5 总结 556 第19章 OpenResty开发 557 19.1 简介 557 19.2 Lua语言 566 19.3 LuaJIT 577 19.4 Lua模块 581 19.5 功能接口 585 19.6 应用实例 594 19.7 Stream Lua模块 598 19.8 lua-resty库 601 19.9 总结 603 第20章 结束语 605 20.1 本书的遗憾 605 20.2 下一步 605 20.3 临别赠言 606 附录A 推荐书目 607 附录B GDB调试简介 609 附录C Nginx C++模块简介 611 附录D Nginx的字符串格式化 613 附录E nginScript简介 615 · · · · · · () |
他的书必买,烧脑,值得珍藏
为我提供了一个解看历史和现实的全新视角。
感觉不出文化隔阂
必看书目之一,很多年前就有所耳闻,现在终于入手了