Web开发技术丛书 Nginx Lua开发实战PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:李明江著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111590293
- 页数:566 页
第一部分 Nginx操作基础 2
第1章 Nginx高效服务器 2
1.1 Nginx的特点 2
1.2 Nginx的安装 3
1.3 configure命令参数 7
1.4小结 12
第2章 数据库的基本操作 13
2.1 Nginx应用中的数据库 13
2.2 MySQL关系型数据库 15
2.2.1 yum安装方法 16
2.2.2使用mysql测试服务 18
2.2.3 MySQL文件分布 19
2.2.4数据库操作 19
2.3 Redis内存数据库 22
2.3.1 Redis安装 22
2.3.2启动Redis服务 23
2.3.3 Redis配置 23
2.3.4参数说明 26
2.3.5数据类型 29
2.4 PostgreSQL关系型数据库 31
2.5 Memcached内存数据库 33
2.5.1 Memcached安装 34
2.5.2连接编辑 34
2.5.3管理Memcached服务 35
2.5.4 Memcached命令 37
2.6 MongoDB分布式NoSQL数据库 42
2.6.1 MongoDB安装 43
2.6.2 mongod.conf配置说明 45
2.7小结 48
第3章 OpenResty 49
3.1 OpenResty:概述 49
3.2 OpenResty的组成 50
3.3 OpenResty的安装 52
3.4 Nginx多实例 54
3.5小结 54
第4章 Nginx核心技术 55
4.1 Nginx设计目标 55
4.2 Nginx架构 57
4.2.1事件驱动 57
4.2.2异步多阶段处理 59
4.2.3模块化设计 61
4.2.4管理进程、工作进程设计 63
4.2.5内存池 65
4.2.6连接池 66
4.2.7时间缓存 66
4.2.8延迟关闭 67
4.2.9跨平台 67
4.2.10 HTTP模块管道过滤模式 67
4.2.11 keepalive 68
4.2.12 pipeline 69
4.3小结 69
第5章 Nginx的工作流程 70
5.1 Nginx的启动流程 70
5.2管理进程的工作流程 72
5.3工作进程的工作流程 75
5.4配置加载流程 76
5.5 HTTP框架初始化流程 79
5.6 HTTP模块调用流程 81
5.7 HTTP请求处理流程 82
5.8小结 83
第二部分 Lua脚本语言 86
第6章 Lua教程 86
6.1 Lua基础 86
6.1.1 Lua的特性 86
6.1.2 Lua的应用场景 87
6.1.3安装Lua环境 87
6.2 Lua基本语法 88
6.2.1第一个Lua程序 88
6.2.2注释 89
6.2.3标识符 90
6.2.4关键词 90
6.2.5全局变量 90
6.3 Lua的数据类型 90
6.4 Lua变量 96
6.4.1赋值语句 96
6.4.2索引 97
6.5 Lua循环 98
6.6 Lua流程控制 98
6.7 Lua函数 99
6.7.1函数的定义 99
6.7.2多返回值 100
6.7.3可变参数 101
6.8 Lua运算符 101
6.8.1算术运算符 102
6.8.2关系运算符 102
6.8.3逻辑运算符 103
6.8.4其他运算符 104
6.8.5运算符的优先级 105
6.9 Lua字符串 106
6.10 Lua数组 107
6.10.1一维数组 107
6.10.2多维数组 108
6.11 Lua迭代器 109
6.11.1泛型for迭代器 109
6.11.2无状态的迭代器 110
6.11.3多状态的迭代器 111
6.12 Lua表 112
6.13 Lua模块与包 113
6.13.1 require函数 114
6.13.2加载机制 115
6.13.3 C包 115
6.14 Lua元表 116
6.14.1 index元方法 117
6.14.2 newindex元方法 118
6.14.3为表添加运算符 119
6.14.4 call元方法 119
6.14.5 tostring元方法 120
6.15 Lua协同程序 121
6.15.1基本语法 121
6.15.2生产者-消费者问题 124
6.16 Lua错误处理 125
6.16.1语法错误 125
6.16.2运行错误 125
6.16.3错误处理 126
6.16.4 error函数 126
6.16.5 pcall、xpcall、debug 127
6.17 Lua调试 128
6.18 Lua垃圾回收 130
6.19 Lua面向对象 131
6.19.1 Lua中面向对象 132
6.19.2 Lua继承 134
6.20 Lua数据库访问 136
6.21小结 137
第7章 Lua通用库 138
7.1字符串库 138
7.2表库 141
7.3文件I/O库 143
7.3.1简单模式 144
7.3.2完全模式 145
7.3.3其他方法 146
7.4数学库 147
7.5操作系统库 150
7.6小结 151
第三部分 Nginx开发技术 154
第8章 JSON数据交换格式 154
8.1什么是JSON 154
8.2 JSON转换为JavaScript对象 155
8.3 JSON与XML的比较 155
8.4 JSON语法规则 156
8.5格式化 157
8.6小结 158
第9章 nginx.conf文件配置 159
9.1默认nginx.conf文件 159
9.2 nginx.conf示例 162
9.3全局配置与顶层配置块 166
9.3.1 main全局配置 166
9.3.2 events配置块 170
9.3.3 http服务器配置块 172
9.3.4 ngx_http_core_module变量 194
9.3.5 stream 195
9.4中文版nginx.conf 201
9.5小结 204
第10章 Nginx下Lua实现机制 206
10.1 ngx_lua原理 206
10.2 HTTP请求的处理阶段 209
10.3 ngx_lua的处理阶段 210
10.4 Lua阶段解析 212
10.4.1 init_by_lua 212
10.4.2 init_worker_by_lua 213
10.4.3 set_by_lua 214
10.4.4 rewrite_by_lua 216
10.4.5 access_by_lua 217
10.4.6 conten_by_lua 218
10.4.7 header_filter_by_lua 220
10.4.8 body_filter_by_lua 220
10.4.9 log_by_lua 220
10.4.10 balancer_by_lua_block 221
10.5小结 222
第四部分 Nginx Lua开发实战 224
第11章 Redis操作 224
11.1 Redis操作方法概述 224
11.2 HttpRedis访问方法 225
11.2.1示例 225
11.2.2 HttpRedis API 226
11.2.3 HttpRedis变量 228
11.3 HttpRedis2Module访问方法 229
11.3.1示例 229
11.3.2 nginx.conf配置 230
11.3.3常用指令 231
11.3.4技术点 234
11.3.5应答包解析 238
11.4 lua-resty-redis访问方法 239
11.4.1示例 239
11.4.2 API函数 240
11.4.3技术点 244
11.4.4问题列表 246
11.4.5限制 247
11.4.6安装 247
11.5小结 247
第12章 MySQL操作 248
12.1 lua-restty-mysql访问方式 248
12.1.1示例 248
12.1.2安装 250
12.1.3方法与函数 251
12.1.4多结果集返回示例 254
12.1.5其他注意事项 255
12.1.6限制 255
12.2 HttpDrizzleModule访问方式 255
12.2.1示例 256
12.2.2安装 257
12.2.3技术点 258
12.2.4配置指令 259
12.2.5变量 263
12.2.6输出格式 264
12.3 HttpDrizzleModule完整示例 265
12.4小结 272
第13章 Memcached操作 273
13.1 mem-nginx-module访问方式 273
13.1.1概述 273
13.1.2命令 276
13.1.3指令 279
13.1.4安装 281
13.1.5说明 281
13.1.6示例 282
13.2 lua-resty-memcached访问方式 285
13.2.1概述 285
13.2.2 API 286
13.2.3自动日志 291
13.2.4限制 291
13.3小结 291
第14章 PostgreSQL操作 292
14.1概述 292
14.2配置指令 293
14.3配置变量 295
14.4示例 296
14.5小结 298
第15章 MongoDB操作 299
15.1安装 299
15.2配置 299
15.3操作函数 300
15.3.1连接对象方法 300
15.3.2数据库对象方法 301
15.3.3列对象方法 301
15.4示例 302
15.5小结 303
第16章 bit库的使用 304
16.1示例 304
16.2安装 305
16.3函数 305
16.4说明 307
16.5小结 308
第17章 Ifs库的使用 309
17.1目录迭代示例 309
17.2安装 310
17.3 LuaFileSystem函数 310
17.4小结 312
第18章 resty.http库的使用 313
18.1安装 313
18.2概述 314
18.3函数 315
18.3.1连接类 315
18.3.2应答类 318
18.3.3代理类 319
18.3.4工具类 319
18.4小结 320
第19章 lcurl库的使用 321
19.1安装 321
19.1.1安装libcurl 321
19.1.2安装lcurl 322
19.2示例 322
19.3函数 324
19.3.1 httpform类 325
19.3.2 easy类 327
19.3.3 multi类 331
19.3.4 error类 333
19.3.5 share类 333
19.4常用变量 334
19.4.1字符串数组类选项 334
19.4.2字符串选项 334
19.4.3数值型选项 336
19.4.4布尔型选项 337
19.5完整示例 338
19.6 小结 340
第20章 FFI扩展C库 341
20.1示例 341
20.1.1调用外部C函数 341
20.1.2使用C结构体数据 342
20.2 FFI库的使用 344
20.2.1载入FFI库 344
20.2.2访问标准系统函数 344
20.2.3访问zlib压缩库 345
20.2.4为一个C类型定义元方法 346
20.2.5转换C语法 347
20.3 FFI API 348
20.3.1声明和访问外部符号 348
20.3.2创建cdata对象 349
20.3.3 C类型信息 349
20.3.4功能函数 350
20.3.5特定目标信息 351
20.3.6方法回调 351
20.3.7扩展标准库函数 351
20.4调用curl库的完整示例 352
20.5小结 352
第21章 cjson库的使用 353
21.1示例 353
21.2函数 354
21.3变量 358
21.4小结 358
第22章 lua-resty-template类的使用 359
22.1示例 359
22.2模板符号 360
22.2.1短转义符号 361
22.2.2上下文表中的复杂key 361
22.2.3 HTML转义 361
22.2.4保留的上下文key和评论 362
22.3安装 363
22.3.1 Nginx/OpenResty配置 363
22.3.2使用document_root 363
22.3.3使用template_root 364
22.3.4使用template_location 364
22.4 Lua API 364
22.5模板预编译 368
22.6模板助手 368
22.7用法示例 369
22.7.1引用模板 369
22.7.2 Layouts的views 370
22.7.3使用Blocks 371
22.7.4继承 373
22.7.5 Macros 374
22.7.6调用模板中的方法 375
22.7.7模板内嵌的Angular或其他标签/模板 376
22.7.8模板内嵌的Markdown 376
22.7.9 LSP 377
22.8 FAQ 378
22.9小结 379
第23章 WebSocket的使用 380
23.1示例 381
23.2安装 383
23.3 resty.websocket.server 383
23.4 resty.websocket.client 386
23.5 resty.websocket.protocol 389
23.6使用注意事项 390
23.7小结 390
第24章 TCP私有服务器实例 391
24.1协议 391
24.1.1协议总体要求 391
24.1.2包头定义 392
24.1.3协议命令 393
24.2 DDP系统架构 394
24.3 DDP服务实现 395
24.3.1 nginx.conf配置 395
24.3.2 init.lua 398
24.3.3 ddp.lua 399
24.3.4 DDP代码解析 405
24.3.5 Redis和MySQL的location 407
24.3.6管理页面REST操作 411
24.4小结 412
第25章 WebSocket接入服务器实战 413
25.1 nginx.conf内容 413
25.2 ws_svr.lua内容 421
25.3 update_alarts代码 436
25.4小结 438
第26章 Nginx应用简述 439
26.1简单系统 439
26.2读写分离系统 439
26.3引入缓存系统 440
26.4缓存主从系统 441
26.5小结 442
第五部分 开发手册 444
第27章 ngx_lua_module模块配置指令详解 444
27.1概述 444
27.2 Lua配置顺序 456
27.3配置指令 457
27.4小结 487
第28章 ngx_lua API详解 488
28.1概述 488
28.2 API与常量 491
28.3小结 565
- 《钒产业技术及应用》高峰,彭清静,华骏主编 2019
- 《现代水泥技术发展与应用论文集》天津水泥工业设计研究院有限公司编 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《Prometheus技术秘笈》百里燊 2019
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《药剂学实验操作技术》刘芳,高森主编 2019
- 《林下养蜂技术》罗文华,黄勇,刘佳霖主编 2017
- 《脱硝运行技术1000问》朱国宇编 2019
- 《催化剂制备过程技术》韩勇责任编辑;(中国)张继光 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《中风偏瘫 脑萎缩 痴呆 最新治疗原则与方法》孙作东著 2004
- 《水面舰艇编队作战运筹分析》谭安胜著 2009
- 《王蒙文集 新版 35 评点《红楼梦》 上》王蒙著 2020
- 《TED说话的力量 世界优秀演讲者的口才秘诀》(坦桑)阿卡什·P.卡里亚著 2019
- 《燕堂夜话》蒋忠和著 2019
- 《经久》静水边著 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《微表情密码》(波)卡西亚·韦佐夫斯基,(波)帕特里克·韦佐夫斯基著 2019
- 《看书琐记与作文秘诀》鲁迅著 2019
- 《酒国》莫言著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019