Nginx Lua开发实战

《Nginx Lua开发实战》

  • 出版社:机械工业出版社
  • ISBN:9787111590293
  • 版次:1
  • 商品编码:12319546
  • 品牌:机工出版
  • 包装:平装
  • 丛书名:Web开发技术丛书
  • 开本:16开
  • 出版时间:2018-03-01
  • 用纸:胶版纸
  • 页数:565
基本介绍书籍目录点评信息
  • 书籍内容

    这是一部讲解如何在Nginx中使用Lua开发应用系统的实战类著作,作者是一位拥有超过20年研发经验的资深技术专家,内容的权*性毋庸置疑。
    Nginx作为互联网应用系统中的核心服务,被有广泛应用。Nginx通过配置可以实现负载均衡、反向代理等功能,还可以通过扩展开发更为复杂的业务逻辑。这其中,使用Lua语言开发是*方便和*流行的方法。本书以应用系统开发为主线,讲解了相关服务、模块和开发手册,并提供了大量真实的案例。
    全书分为5个部分:
    第一部分:Nginx基础篇(第1-5章)
    首先,全面讲解了Nginx的基本操作,并讲解了MySQL、PostgreSQL、Redis、Memcached、MongoDB、OpenResty的基本操作;其次,分析了Nginx的工作流程和核心技术和架构。
    第二部分:Lua脚本语言篇(第6-7章)
    深入讲解了Lua脚本语言的语法和Lua通用库,旨在帮助读者掌握Lua的脚本语言,进行业务逻辑编写。
    第三部分:Nginx开发技术篇(第8-10章)
    讲解了Nginx应用系统开发中常用的相关知识,包括JSON格式、nginx.conf配置和Nginx下Lua实现机制。让读者掌握开发过程中Nginx的配置和使用,同时了解Lua的实现机制,从而掌握在开发中选择正确阶段的使用Lua代码。
    第四部分 Nginx Lua开发实战篇(第11-26章)
    讲解了Nginx下Lua常用模块以及示例代码,并提供了一个TCP私有服务器实例代码和一个WebSocket接入服务器实例代码。实战开发中,根据业务不同,会使用到非常多的模块,本章讲解了常用的20多个模块,可以*大程度让读者节约查找资料的时间,还提供了2个示例程序,用于理解整个开发流程和技术使用方法。
    第五部分 开发手册篇(第27和28章)
    提供了ngx-lua-module模块配置命令详解和ngx_lua 函数详解。模块命令和API函数是开发中经常使用到的资料,用于查找函数说明和选择参数。

    编辑推荐

    适读人群 :所有Web开发者。
    (1)作者拥有20+年研发和管理经验,创办过两家公司,现任蛮牛科技CEO兼研发总监。
    (2)作者在C++、软件研发、信息安全、物联网、云计算、分布式计算等领域有深厚积累。
    (3)作者在Nginx和Lua领域有丰富的实践经验,本书中大量技术和经验都是初次对外呈现。

    作者简介

    李明江(Leelin)
    资深软件开发专家,安防领域技术专家,拥有超过20年的研发经验。创办过两家公司,现任杭州蛮牛技术有限公司CEO兼研发总监。
    曾经在信雅达等国内多家上市公司担任研发要职,参与并主导了大量大型项目的研发过程。如南方电网广州亚运会大型安保系统总体研发和管理,担任总负责人;参与中国电信全球眼规范、国家电网安保平台规范、南方电网/国家电网视频监控系统规范、公安部3111规范等规范的制定。
    在C++、分布式平台开发、物联网、云计算、APP开发、信息安全等领域有非常深厚的积累,擅长Nginx和Lua开发相关的技术,有非常丰富的实践经验。此外,因为有多年的带团队和创业经历,在团队组建、技术方向确立、核心体系搭建、团队建设、核心技术攻关等方面颇有心得。
    读者QQ群:196039071(Nginx Lua实战)。
  • Contents?目  录
    前言
    第一部分 Nginx操作基础
    第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脚本语言
    第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开发技术
    第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 content_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_b
微信公众号

热门文章

更多