描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115459961
本书指导你掌握Nginx的配置,帮助你学会如何在各种使用场合正确地调校Nginx,如何使用那些比较难的指令的配置,以及如何设计一个好的配置以满足你的需要。本书首先介绍了Nginx的安装以及与第三方模块的整合,然后介绍了Nginx的邮件代理模块及其认证,zui后介绍了如何将Nginx和应用程序整合起来以加速开发并提高性能。
本书适合在安装和配置服务器方面有经验的系统管理员或系统工程师阅读。
你将从本书中学到
● 编译适当的第三方模块以满足你的需要;
● 编写认证服务器以便使用邮件代理模块;
● 创建你自己的SSL证书加密连接;
● 使用try_files解决文件存在性检测;
● 使用缓存和压缩提高用户交互;
● 使用FastCGI模块集成流行的PHP框架;
● 构建有用的日志配置;
● 排除配置问题。
本书以模块化风格写成,几乎每一章都是一个独立的模块,读者将能够自由地在各个模块间切换阅读。全书分两部分,第1部分用9章内容介绍了安装Nginx及第三方模块、配置向导、使用mail模块、Nginx作为反向代理、Nginx Http服务器、Nginx的开发、在Nginx中集成Lua以及故障排除技巧;第二部分用4个附录的形式介绍了指令参考、Rewrite规则指南、Nginx社区以及Solaris系统下的网络调优。
本书适合在安装和配置服务器方面有经验的系统管理员或系统工程师,阅读本书不需要任何Nginx使用经验,相信这本书会帮助读者更好地完成任务。
目录
第1章 安装Nginx及第三方模块 1
1.1 使用包管理器安装Nginx 2
1.1.1 在Centos上安装Nginx 2
1.1.2 在Debian上安装Nginx 3
1.2 从源代码安装Nginx 3
1.2.1 准备编译环境 3
1.2.2 从源代码编译 4
1.2.3 为Web或者Mail服务器
配置Nginx 5
1.2.4 邮件代理的配置选项 6
1.2.5 指定路径的配置选项 6
1.3 配置SSL支持 7
1.4 使用各种模块 7
禁用不再使用的模块 9
1.5 查找并安装第三方模块 10
1.6 添加对Lua的支持 11
1.7 组合在一起 11
1.8 小结 13
第2章 配置指南 14
2.1 基本配置格式 14
2.2 Nginx全局配置参数 15
2.3 使用include文件 16
2.4 HTTP的server部分 17
2.4.1 客户端指令 17
2.4.2 文件I O指令 18
2.4.3 Hash指令 19
2.4.4 Socket指令 19
2.4.5 示例配置文件 20
2.5 虚拟服务器部分 20
2.6 Locations—where,when,how 24
2.7 完整的示例配置文件 26
2.8 小结 27
第3章 使用mail模块 29
3.1 基本代理服务 29
3.1.1 mail的server配置部分 30
3.1.2 POP3服务 32
3.1.3 IMAP服务 33
3.1.4 SMTP服务 33
3.1.5 使用SSL TLS 34
3.1.6 完整的mail示例 37
3.2 认证服务 38
3.3 与memcached结合 46
3.4 解释日志文件 48
3.5 操作系统限制 50
3.6 小结 51
第4章 Nginx作为反向代理 52
4.1 反向代理简介 53
4.2 代理模块 54
4.3 带有cookie的遗留应用程序 57
4.4 upstream模块 58
4.5 保持活动连接 59
4.6 上游服务器的类型 61
4.7 单个上游服务器 61
4.8 多个上游服务器 62
4.9 非HTTP型上游服务器 63
4.9.1 Memcached上游服务器 63
4.9.2 FastCGI上游服务器 64
4.9.3 SCGI上游服务器 65
4.9.4 uWSGI上游服务器 65
4.10 负载均衡 65
负载均衡算法 65
4.11 将if配置转换为一个更现代的
解释 66
4.12 使用错误文件处理上游服务器
问题 70
4.13 确定客户端真实的IP地址 72
4.14 小结 72
第5章 反向代理高级话题 73
5.1 安全隔离 74
5.1.1 使用SSL对流量进行加密 74
5.1.2 使用SSL进行客户端身份
验证 76
5.1.3 基于原始IP地址阻止流量 78
5.2 孤立应用程序组件的扩展 80
5.3 反向代理服务器的性能调优 83
5.3.1 缓冲数据 84
5.3.2 缓存数据 86
5.3.3 存储数据 90
5.3.4 压缩数据 91
5.4 小结 94
第6章 Nginx HTTP服务器 95
6.1 Nginx的系统架构 95
6.2 HTTP核心模块 96
6.2.1 server指令 97
6.2.2 Nginx中的日志 98
6.2.3 查找文件 101
6.2.4 域名解析 103
6.2.5 客户端交互 104
6.3 使用limit指令防止滥用 106
6.4 约束访问 110
6.5 流媒体文件 114
6.6 预定义变量 115
6.7 SPDY和HTTP 2 117
6.8 使用Nginx和PHP-FPM 118
6.9 一个Drupal的配置示例 121
6.9 将Nginx和uWSGI结合 129
一个Django的配置示例 129
6.10 小结 131
第7章 Nginx的开发 133
7.1 集成缓存 133
7.1.1 应用程序没有缓存 134
7.1.2 使用数据库缓存 135
7.1.3 使用文件系统做缓存 138
7.2 动态修改内容 141
7.2.1 使用addition模块 141
7.2.2 sub模块 142
7.2.3 xslt模块 143
7.3 使用服务器端包含SSI(Server
Side Include) 144
7.4 Nginx中的决策 146
7.5 创建安全链接 150
7.6 生成图像 152
7.7 跟踪网站访问者 155
7.8 防止意外代码执行 156
7.9 小结 157
第8章 在Nginx中集成Lua 159
8.1 ngx_lua模块 159
8.2 集成Lua 160
8.3 使用Lua记录日志 163
8.4 小结 163
第9章 故障排除技巧 164
9.1 分析日志文件 164
9.1.1 错误日志文件格式 164
9.1.2 错误日志文件条目实例 166
9.2 配置高级日志记录 168
9.2.1 调试日志记录 169
9.2.2 在运行时切换二进制运行
文件 169
9.2.3 使用访问日志文件进行
调试 175
9.3 常见的配置错误 177
9.3.1 使用if取代try_files 178
9.3.2 使用if作为主机名切换 179
9.3.3 不使用server部分的配置追求
更好的效果 180
9.4 操作系统限制 181
9.4.1 文件描述符限制 181
9.4.2 网络限制 183
9.5 性能问题 184
9.6 使用Stub Status模块 186
9.7 小结 187
附录A 指令参考 189
附录B Rewrite规则指南 224
附录C Nginx社区 236
附录D Solaris系统下的网络调优 239
评论
还没有评论。