注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计Nginx实战:基于Lua语言的配置、开发与架构详解

Nginx实战:基于Lua语言的配置、开发与架构详解

Nginx实战:基于Lua语言的配置、开发与架构详解

定 价:¥79.00

作 者: 王力,汤永全 著
出版社: 电子工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787121354601 出版时间: 2019-03-01 包装: 平装
开本: 16开 页数: 344 字数:  

内容简介

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

作者简介

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

图书目录

第1章Nginx学前必知1
1.1HTTP请求报文1
1.2HTTP响应报文2
1.3安装Nginx2
1.4支持HTTPS4
1.5添加模块4
1.6小结4
第2章基础配置5
2.1Nginx指令和指令块5
2.2Nginx基本配置说明6
2.2.1Main配置6
2.2.2与客户端有关的配置7
2.2.3server块7
2.2.4location块8
2.3include的使用9
2.4常见配置9
2.4.1常见配置注解10
2.4.2常见配置实战技巧11
2.5内置变量13
2.5.1常见内置变量13
2.5.2常见内置变量实战技巧15
2.6小结16
第3章强化基础配置17
3.1牢记Context标识17
3.2获取请求的IP地址18
3.2.1获取用户的真实IP地址18
3.2.2防止IP地址伪造19
3.2.3后端服务器对IP地址的需求19
3.3管理请求的行为20
3.3.1限制IP地址的访问20
3.3.2auth身份验证21
3.3.3利用LDAP服务加强安全22
3.3.4satisfy二选一的访问限制功能23
3.4proxy代理23
3.4.1proxy_pass请求代理规则24
3.4.2减少后端服务器的网络开销24
3.4.3控制请求头和请求体25
3.4.4控制请求和后端服务器的交互时间26
3.5upstream使用手册26
3.5.1代理多台服务器27
3.5.2故障转移28
3.5.3负载均衡29
3.5.4通过hash分片提升缓存命中率29
3.5.5利用长连接提升性能30
3.5.6利用resolver加速内部域名访问31
3.6rewrite使用手册32
3.6.1内部重定向32
3.6.2域名跳转33
3.6.3跳转POST请求34
3.6.4设置变量的值34
3.7限速白名单35
3.8日志36
3.8.1记录自定义变量36
3.8.2日志格式规范36
3.8.3日志存储37
3.9HTTP执行阶段38
3.10小结39
第4章常用模块精解40
4.1定制HTTP头信息40
4.1.1使用ngx_http_headers_module设置响应头40
4.1.2使用headers-more-nginx控制请求头和响应头43
4.2第三方模块set-misc-nginx45
4.2.1设置变量46
4.2.2防止SQL注入46
4.2.3字符串非转义和转义47
4.2.4基于键值的集群分片48
4.2.5base编码48
4.2.6md5编码50
4.2.7生成随机数50
4.2.8本地时间的输出52
4.2.9实战经验52
4.3图片的处理53
4.3.1image_filter图片处理53
4.3.2采用渐进式方式打开JPEG图片55
4.3.3WebP格式56
4.3.4优化图片56
4.3.5实战经验:动态切图58
4.4TCP和UDP代理58
4.4.1代理配置说明58
4.4.2DNS服务的反向代理62
4.4.3MySQL集群代理配置62
4.4.4实战经验63
4.5常用模块介绍63
4.5.1基于访问IP地址跳转到对应城市63
4.5.2修改响应内容65
4.5.3零像素文件的生成及其作用66
4.5.4图片的防盗链67
4.6小结68
第5章缓存系统69
5.1缓存配置说明69
5.2控制缓存有效期71
5.3性能优化72
5.3.1缓存未命中的最佳实践72
5.3.2横向扩展最佳实践75
5.3.3避免硬盘I/O阻塞76
5.3.4集群模式77
5.4高可用方案77
5.5proxy_cache配置模板78
5.6小结81
第6章引入Lua82
6.1为什么要引入Lua82
6.2Lua和LuaJIT83
6.3环境搭建83
6.4Lua的数据类型84
6.5表达式89
6.6变量93
6.7流程控制95
6.8函数98
6.9模块100
6.10Lua常见操作102
6.11引入Lua的插曲104
6.12小结105
第7章Lua-Nginx-Module常用指令106
7.1Nginx和OpenResty106
7.2安装Ngx_Lua107
7.3牢记Context标识108
7.4Helloworld108
7.5避免I/O阻塞109
7.6定义模块搜索路径109
7.7读/写Nginx的内置变量110
7.8控制请求头111
7.9控制响应头113
7.10读取请求体116
7.11输出响应体121
7.12正则表达式124
7.13子请求130
7.14获取Nginx的环境变量135
7.15定时任务138
7.16常用指令142
7.17提升开发和测试效率149
7.18小结156
第8章Ngx_Lua的执行阶段157
8.1init_by_lua_block157
8.2init_worker_by_lua_block160
8.3set_by_lua_block165
8.4rewrite_by_lua_block168
8.5access_by_lua_block169
8.6content_by_lua_block170
8.8header_filter_by_lua_block172
8.9body_filter_by_lua_block173
8.10log_by_lua_block176
8.11Lua和ngx.ssl177
8.12Ngx_Lua执行阶段177
8.13小结180
第9章Nginx与数据库的交互181
9.1安装cjson181
9.2与MySQL交互183
9.3与Redis交互189
9.4与数据库交互的常见问题194
9.5小结198
第10章缓存利器199
10.1worker进程的共享内存200
10.2Lua模块下的共享内存209
10.3当前请求在各执行阶段间的数据共享213
10.4利用共享内存配置动态IP地址认证215
10.5缓存和数据库的交互218
10.6小结228
第11章动态管理upstream229
11.1实战需求分析230
11.2ngx_http_dyups_module230
11.3nginx-upsync-module233
11.4基于balancer_by_lua_block的灵活控制238
11.5小结239
第12章Nginx日志分析系统240
12.1实战需求分析240
12.2ngxtop实时分析241
12.3Flume方案的日志分析243
12.4智能化nginx_log_analysis244
12.5lua-resty-logger-socket传输方案246
12.6时序数据库InfluxDB249
12.7利用lua-resty-http实现API交互254
12.8提升InfluxDB性能255
12.9小结255
第13章静态容灾系统256
13.1荆棘之路257
13.2设计之路259
13.3架构流程图261
13.4核心代码解说264
13.5静态容灾的智能关闭方案267
13.6小结269
第14章深入挖掘反向代理270
14.1验证码防御中心270
14.2鉴权管理中心272
14.3并行访问274
14.4小结281
第15章爬虫282
15.1区分搜索引擎爬虫和恶意爬虫282
15.2应对搜索引擎爬虫284
15.3应对恶意爬虫288
15.4小插曲——使用假数据迷惑恶意爬虫290
15.5小结291
第16章性能分析和优化292
16.1性能分析场景搭建292
16.2流量复制295
16.3各项指标分析和优化建议295
16.4检查全局变量305
16.5小结305
第17章值得拥有的OpenResty306
17.1OPM307
17.2使用DNS提升访问效率309
17.3TCP和UDP服务310
17.4多层级缓存312
17.5lua-resty-core扩展313
17.6字符串分割313
17.7Nginx进程管理313
17.8全局唯一标识符UUID315
17.9“全家福”awesome-resty316
17.10OpenResty,未来!316
第18章开发环境下的常见问题317
18.1被截断的响应体317
18.2“邪恶”的if317
18.3“贪婪”的正则匹配318
18.4规范HTTP状态码319
18.5规范URL319
18.6proxy_set_header的误操作320
18.7开发环境下的证书问题320
18.8深层次的错误重定向323
18.9压测环境下的限速和短连接323
18.10小结323

本目录推荐