NGINX大全 第十六章 实用操作提示和结论
第十六章 实用操作提示和结论
16.0 介绍
最后一章将介绍实用的操作技巧,并且是本书的总结。在本书中,我们讨论了许多与运营工程师有关的想法和概念。但是,我认为可能还有其他一些方法可以解决问题。在本章中,我将介绍如何确保配置文件简洁明了以及调试配置文件。
16.1 使用Include进行干净的配置
问题
您需要清理庞大的配置文件,以将您的配置从逻辑上分组为模块化配置集。
解决方案
使用include指令来引用配置文件,目录或掩码:
http {
include config.d/compression.conf;
include sites-enabled/*.conf
}
include
指令采用单个参数的文件路径或者与许多文件匹配的掩码。 该指令在任何情况下均有效。
讨论
通过使用include
语句,可以使NGINX配置保持简洁明了。您将能够对配置进行逻辑分组,以避免配置文件持续数百行。您可以创建模块化配置文件,这些文件可以包含在整个配置中的多个位置,以避免重复配置。请使用NGINX的大多数的软件包安装管理中提供的示例fastcgi_param配置文件。如果您在单个NGINX机器上管理多个FastCGI虚拟服务器,你可以在需要这些用于FastCGI的参数的任何位置或上下文中包含此配置文件,而不必重复此配置。另一个示例是SSL配置。如果您正在运行需要类似SSL配置的多台服务器,则只需编写一次此配置,然后将其包含在任何需要的位置即可。通过将配置逻辑分组在一起,您可以放心配置是整齐有序的。更改一组配置文件可以通过编辑单个文件来完成,而不是在大型配置文件中的多个位置中更改多组配置块。将您的配置分组到文件中并使用include
语句是您的明智之举,也是您同事的明智之举。
16.2 调试配置
问题
您从NGINX服务器获得了意料之外的结果。
解决方案
调试您的配置,并记住以下提示:
-
NGINX寻找最特定的匹配规则来处理请求。这使手动完成配置变得有些困难,但这是NGINX工作的最有效方式。
-
您可以打开调试日志记录。对于调试日志记录,您需要确保您的NGINX软件包已配置了
--with-debug
标志。大多数常见的软件包都有它。 但是如果您是自己构建的或运行的最小软件包,则可能需要至少进行两次检查。确定已调试后,可以将error_log
指令的日志级别设置为要调试:error_log /var/log/nginx/error.log debug
。 -
您可以启用对特定连接的调试。
debug_connection
指令在events
上下文中有效,并采用IP或CIDR范围作为参数。可以多次声明该指令以添加要调试的多个IP地址或CIDR范围。这可能有助于调试生产中的问题而不会由于调试所有连接而降低性能。 -
您可以启用core dump并从中获取回溯。可以通过操作系统或NGINX配置文件启用core dump。
-
您可以通过打开
rewrite_log
指令(rewrite_log on
)来记录rewrite语句中发生的情况。
讨论
NGINX平台非常庞大,并且配置可以使您可以执行许多令人惊奇的事情。但是,有着做出惊奇的事情的能力,您也可能会弄巧成拙。调试时,请确保您知道如何通过配置来跟踪请求; 如果有问题,请添加调试日志级别以提供帮助。调试日志非常冗长,但是对于找出NGINX对您的请求所做的事情以及您在配置中出了错的地方很有帮助。
16.3 总结
本书侧重于高性能负载平衡,安全性以及部署和维护NGINX和NGINX Plus服务器。该书展示了NGINX应用程序交付平台的一些最强大的功能。NGINX Inc.持续地开发惊人的功能并保持领先地位。
本书展示了许多简短的诀窍,使您可以更好地理解使NGINX成为现代Web核心的某些指令和模块。NGINX服务器不仅是Web服务器,也不仅是反向代理,而是一个完整的应用程序交付平台,完全能够进行身份验证,并且可以在其所使用的环境中活跃起来。希望你现在明白这一点。
猜你喜欢
NGINX大全 第二章 高性能负载平衡
阅读 2222我们需要一个与基础架构一样动态的负载平衡解决方案。 NGINX以多种方式满足了这一需求,例如HTTP,TCP和UDP负载平衡,我们将在本章中介绍。
NGINX大全 第八章 HTTP/2
阅读 2915本章详细介绍了在NGINX中启用HTTP/2以及配置gRPC和HTTP/2服务器推送支持的基本配置。
NGINX大全 第六章 验证
阅读 2252NGINX能够验证客户端。通过NGINX验证客户端请求降低了工作量,并可以阻止未经身份验证的请求到达应用程序服务器。
NGINX大全 第一章 基础
阅读 2467在本章中,您将学习如何安装主要配置文件所在的NGINX以及管理命令。 您还将学习如何验证安装并向默认服务器发出请求。
NGINX大全 第十二章 高可用性部署模式
阅读 2284本章详细介绍了如何运行多个NGINX服务器以确保负载均衡层中的高可用性的技术。
NGINX大全 第十一章 容器/微服务
阅读 1866本章重点介绍如何构建NGINX和NGINX Plus容器镜像,使容器化环境更容易工作的特性,以及在Kubernetes和OpenShift上部署镜像。
NGINX大全 第九章 复杂的媒体流
阅读 1971本章介绍使用MPEG-4或Flash视频格式的NGINX的流媒体。NGINX被广泛用于向大众分发和传输内容。NGINX支持行业标准格式和流技术,本章将对其进行介绍。
NGINX大全 第十四章 使用访问日志,错误日志和请求跟踪进行调试和故障排除
阅读 4645在本章中,我们将讨论访问和错误日志,通过Syslog协议进行流传输以及使用NGINX生成的请求标识符来端到端地跟踪请求。