《Nginx实战:基于Lua语言的配置、开发与架构详解》主要讲解了Nginx在反向代理和应用开发中的作用,阅读本书可以了解Nginx在互联网开发中扮演的多个角色,充分利用这些角色的各项功能有助于提升服务的整体性能。《Nginx实战:基于Lua语言的配置、开发与架构详解》所介绍的大部分功能是通过Nginx+Lua进行开发和配置的,但并不要求读者精通Lua,在必要的位置本书会对Lua进行选择性讲解。涉及实战的内容会有配套源码,方便读者学习和使用。《Nginx实战:基于Lua语言的配置、开发与架构详解》适合广大运维人员和开发人员学习,对使用Nginx完成各种服务架构感兴趣的架构师也可以阅读《Nginx实战:基于Lua语言的配置、开发与架构详解》。阅读本书需要有Nginx初级或中级配置经验。

作者

王力

折800运维架构师,Nginx开发工程师,具有多年互联网相关项目的开发经验。喜欢使用小众技术完成运维、开发和测试任务,擅长通过架构设计降低开发难度,擅长搭建Nginx高性能服务。汤永全折800运维主管,具有多年互联网相关项目的运维工作经验。历经传统运维和互联网运维,一步一个脚印,积累了不少运维相关的经验和感悟。活跃于成都运维管理人员的线下组织“运维罗汉堂”。

查看全部
目录

内容简介

前言

第1章 Nginx学前必知

1.1 HTTP请求报文

1.2 HTTP响应报文

1.3 安装Nginx

1.4 支持HTTPS

1.5 添加模块

1.6 小结

第2章 基础配置

2.1 Nginx指令和指令块

2.2 Nginx基本配置说明

2.3 include的使用

2.4 常见配置

2.5 内置变量

2.6 小结

第3章 强化基础配置

3.1 牢记Context

3.2 获取请求的IP地址

3.3 管理请求的行为

3.4 proxy代理

3.5 upstream使用手册

3.6 rewrite使用手册

3.7 限速白名单

3.8 日志

3.9 HTTP执行阶段

3.10 小结

第4章 常用模块精解

4.1 定制HTTP头信息

4.2 第三方模块set-misc-nginx

4.3 图片的处理

4.4 TCP和UDP代理

4.5 常用模块介绍

4.6 小结

第5章 缓存系统

5.1 缓存配置说明

5.2 控制缓存有效期

5.3 性能优化

5.4 高可用方案

5.5 proxy_cache配置模板

5.6 小结

第6章 引入Lua

6.1 引入Lua的原因

6.2 Lua和LuaJIT

6.3 环境搭建

6.4 Lua的数据类型

6.5 表达式

6.6 变量

6.7 流程控制

6.8 函数

6.9 模块

6.10 Lua常见操作

6.11 引入Lua的插曲

6.12 小结

第7章 Lua-Nginx-Module常用指令

7.1 Nginx和OpenResty

7.2 安装Ngx_Lua

7.3 牢记Context

7.4 Hello World

7.5 避免I/O阻塞

7.6 定义模块搜索路径

7.7 读/写Nginx的内置变量

7.8 控制请求头

7.9 控制响应头

7.10 读取请求体

7.11 输出响应体

7.12 正则表达式

7.13 子请求

7.14 获取Nginx的环境变量

7.15 定时任务

7.16 常用指令

7.17 提升开发和测试效率

7.18 小结

第8章 Ngx_Lua的执行阶段

8.1 init_by_lua_block

8.2 init_worker_by_lua_block

8.3 set_by_lua_block

8.4 rewrite_by_lua_block

8.5 access_by_lua_block

8.6 content_by_lua_block

8.7 balancer_by_lua_block

8.8 header_filter_by_lua_block

8.9 body_filter_by_lua_block

8.10 log_by_lua_block

8.11 Lua和ngx.ssl

8.12 Ngx_Lua执行阶段

8.13 小结

第9章 Nginx与数据库的交互

9.1 安装cjson

9.2 与MySQL交互

9.3 与Redis交互

9.4 与数据库交互的常见问题

9.5 小结

第10章 缓存利器

10.1 worker进程的共享内存

10.2 Lua模块下的共享内存

10.3 当前请求在各执行阶段间的数据共享

10.4 利用共享内存配置动态IP地址认证

10.5 缓存和数据库的交互

10.6 小结

第11章 动态管理upstream

11.1 实战需求分析

11.2 ngx_http_dyups_module

11.3 nginx-upsync-module

11.4 基于balancer_by_lua_block的灵活控制

11.5 小结

第12章 Nginx日志分析系统

12.1 实战需求分析

12.2 ngxtop实时分析

12.3 Flume方案的日志分析

12.4 智能化nginx_log_analysis

12.5 lua-resty-logger-socket传输方案

12.6 时序数据库InfluxDB

12.7 利用lua-resty-http实现API交互

12.8 提升InfluxDB性能

12.9 小结

第13章 静态容灾系统

13.1 荆棘之路

13.2 设计之路

13.3 架构流程图

13.4 核心代码解说

13.5 静态容灾的智能关闭方案

13.6 小结

第14章 深入挖掘反向代理

14.1 验证码防御中心

14.2 鉴权管理中心

14.3 并行访问

14.4 小结

第15章 爬虫

15.1 区分搜索引擎爬虫和恶意爬虫

15.2 应对搜索引擎爬虫

15.3 应对恶意爬虫

15.4 小插曲——使用假数据迷惑恶意爬虫

15.5 小结

第16章 性能分析和优化

16.1 性能分析场景搭建

16.2 流量复制

16.3 各项指标分析和优化建议

16.4 检查全局变量

16.5 小结

第17章 值得拥有的OpenResty

17.1 OPM

17.2 使用DNS提升访问效率

17.3 TCP和UDP服务

17.4 多层级缓存

17.5 lua-resty-core扩展

17.6 全局唯一标识符UUID

17.7 “全家福”awesome-resty

17.8 OpenResty,未来!

第18章 开发环境下的常见问题

18.1 被截断的响应体

18.2 “邪恶”的if

18.3 “贪婪”的正则匹配

18.4 规范HTTP状态码

18.5 规范URL

18.6 proxy_set_header的误操作

18.7 开发环境下的证书问题

18.8 深层次的错误重定向

18.9 压测环境下的限速和短连接

18.10 小结

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