《精通Nginx》配套资源非常完善和实用。除了书本本身内容详尽全面外,还提供了丰富的配套资源,如示例代码、配置文件等。这些资源既可以帮助读者更好地理解书中所介绍的概念和技术,也可以作为读者在实践中的参考和指导。配套资源还提供了一些额外的学习资料和工具,如相关的网站链接和第三方插件等,帮助读者深入学习和应用Nginx。这些配套资源不仅丰富了阅读体验,也提升了读者的学习效果。
编辑推荐
《精通Nginx》在国外众多的Nginx图书中,以其简洁实用的特点得到了众多读者和专家的一致认可。
这本书是以现代风格所写,这种设计帮助你尽可能快地获取信息。几乎每一章都是一个独立的模块,你可以根据你的需要自由地跳到任何地方获取更深入的特定主题。
《精通Nginx》具有个重要特点:包含有用的示例代码,帮助你将应用架构集成到Nginx;提供完整的配置示例,**实践的描述以及每一条指令的参考表。
任何现代Linux PC都能够充分地运行本书中的实例代码。用户代码实例在每一章都给定了安装操作指南。
内容简介
Nginx是一个高性能的轻量级Web服务器,本书从配置文件的角度出发,介绍了多种关于 Nginx配置文件的技巧。
本书以模块化风格写成,几乎每一章都是一个独立的模块,读者将能够自由地在各个模块间切换阅读。全书分两部分,第一部分用8章内容介绍了安装Nginx及第三方模块、配置指南、使用mail模块、Nginx作为反向代理、反向代理高级话题、Nginx Http服务器、Nginx的开发以及故障排除技巧;第二部分用4个附录的形式介绍了指令参考、Rewrite规则指南、Nginx社区以及Solaries系统下的网络调优。
本书适合在安装和配置服务器方面有经验的系统管理员或系统工程师,阅读本书不需要任何Nginx使用经验,想信这本书会帮助你更好地完成任务。
作者简介
Dimitri Aivaliotis 在瑞士苏黎世的一个主机托管商就职于系统架构师。他的职业生涯,从为学校构建基于Linux的计算机网络到为银行构建双数据中心的高可用性基础设施和在线门户网站。他在解决客户问题上已经花费了10年的时间,并且在这条路上发现了Nginx。他使用Nginx每天为他的客户提供Web访问,代理和流媒体服务。
目录
- 第1章 安装Nginx及第三方模块
- 1.1 使用包管理器安装Nginx
- 1.1.1 CentOS
- 1.1.2 Debian
- 1.2 从源代码安装Nginx
- 1.2.1 准备编译环境
- 1.2.2 从源代码编译
- 1.3 配置web或者服务器
- 1.3.1 邮件代理的配置选项
- 1.3.2 指定路径的配置选项
- 1.4 使用各种模块
- 1.5 查找并安装第三方模块
- 1.6 组合在一起
- 1.7 总结
- 第2章 配置指南
- 2.1 基本配置格式
- 2.2 Nginx的全局配置参数
- 2.3 使用include文件
- 2.4 Http的server部分
- 2.4.1 客户端指令
- 2.4.2 文件I/O指令
- 2.4.3 Hash指令
- 2.4.4 Socket指令
- 2.4.5 示例配置文件
- 2.5 虚拟server部分
- 2.6 Locations——wheve,when,how
- 2.7 的server部分
- 2.8 完整的样本配置文件
- 2.9 总结
- 第3章 使用模块
- 3.1 基本代理服务
- 3.1.1 POP3服务
- 3.1.2 IMAP服务
- 3.1.3 SMTP服务
- 3.1.4 使用SSL/TLS
- 3.1.5 完整的示例
- 3.2 认证服务
- 3.3 与Memcached结合
- 3.4 解释日志文件
- 3.5 作系统的限制
- 3.6 总结
- 第4章 Nginx作为反向代理
- 4.1 反向代理简介
- 4.1.1 代理模块
- 4.1.2 upstream模块
- 4.2 upstream服务器的类型
- 4.2.1 单个upstream服务器
- 4.2.2 多个upstream服务器
- 4.2.3 非Http型upstream服务器
- 4.3 将if配置转换为一个更现代的解释
- 4.4 使用错误文件来处理upstream的问题
- 4.5 确定客户端的真实IP地址
- 4.6 总结
- 第5章 反向代理高级话题
- 5.1 实现隔离
- 5.1.1 使用SSL对流行加密
- 5.1.2 使用SS行客户端身份验证
- 5.1.3 基于原始IP地址阻止流量
- 5.2 孤立应用程序的扩展
- 5.3 反向代理服务器的性能调优
- 5.3.1 缓冲
- 5.3.2 缓存
- 5.3.3 压缩
- 5.4 总结
- 第6章 Nginx Http服务器
- 6.1 Nginx的系统结构
- 6.2 Http的核心模块
- 6.2.1 server
- 6.2.2 日志
- 6.2.3 文件查找
- 6.2.4 名字解析
- 6.2.5 客户端交互
- 6.3 使用limit指令防止滥用
- 6.4 约束访问
- 6.5 流媒体文件
- 6.6 预定义变量
- 6.7 使用Nginx和PHP-FPM
- 6.8 将Nginx和uWSGI连接在一起工作
- 6.9 总结
- 第7章 Nginx的开发
- 7.1 缓存集成
- 7.1.1 应用程序没有缓存
- 7.1.2 使用数据库缓存
- 7.1.3 使用文件做缓存
- 7.2 动态修改内容
- 7.2.1 addition模块
- 7.2.2 sub模块
- 7.2.3 xslt模块
- 7.3 使用服务器端包含SSI
- 7.4 在Nginx中的决策
- 7.5 创建链接
- 7.6 生成图像
- 7.7 跟踪的访问者
- 7.8 防止意外的代码执行
- 7.9 总结
- 第8章 故障排除技巧
- 8.1 分析日志文件
- 8.1.1 错误日志文件格式
- 8.1.2 错误日志文件条目实例
- 8.2 配置高级日志记录
- 8.2.1 调试日志记录
- 8.2.2 使用访问日志文行调试
- 8.3 常见的配置错误
- 8.3.1使用if取代try_files
- 8.3.2 使用if作为主机名切换
- 8.3.3 不使用server部分的配置追求更好的效果
- 8.4 作系统限制
- 8.4.1 文件描述符限制
- 8.4.2 网络限制
- 8.5 性能问题
- 8.6 使用Stub Status模块
- 8.7 总结
- 附录A 指令参考
- 附录B Rewrite规则指南
- B.1 介绍rewrite模块
- 创建新的rewrite规则
- B.2 转换Apache的重写规则
- B.2.1 规则 #1:使用try_files替代目录和文件存在性检测
- B.2.2 规则 #2:使用location替代匹配REQUEST_URI
- B.2.3 规则 #3:使用server替代匹配R Http_HOST
- B.2.4 规则 #4:变量检查使用if替代RewriteCond
- B.3 总结
- 附录C Nginx的社区
- C.1 邮件列表
- C.2 IRC频道
- C.3 Web资源
- C.4 撰写好的bug报告
- C.5 总结
- 附录D Solaris系统下的网络调优