我正在阅读有关在 nginx 中启用调试日志的指南:https://nginx.org/en/docs/debugging_log.html
我有一台 Ubuntu 14.04 服务器。我应该在哪些目录中运行这些命令
./configure --with-debug
error_log /path/to/log debug;
configure arguments: --with-debug
答案1
显然,阅读指南可以有多种解释。值得一提的是,并非所有以固定宽度块编写的内容都是命令,并且为了了解上下文,这些块之间的面包文本也是必不可少的。固定宽度块可以表示
- 命令(
service nginx stop
) - 部分命令 (
./configure --with-debug ...
) - 配置文件内容(
error_log /path/to/log debug;
) - 命令的输出(
configure arguments: --with-debug ...
来自nginx -V
) - 脚本(
while $log->writer != ngx_log_memory_writer
)或源代码 - 你可以用这种态度将一些恶意的东西复制粘贴到你的命令行中。
现在你已经学会了如何阅读所有手册、指南和教程,你需要的一切都在NGINX 调试日志指导:
预建Linux 软件包提供对二进制文件(1.9.8)的开箱即用支持,
nginx-debug
可以使用命令运行service nginx stop service nginx-debug start
然后设置
debug
级别。请注意,重新定义日志而不指定调试级别将禁用调试日志。在下面的示例中,在服务器级别重新定义日志将禁用此服务器的调试日志:error_log /path/to/log debug; http { server { error_log /path/to/log; ...
这意味着,使用 NGINX 存储库中的软件包(自 1.9.8 版起),您将拥有该nginx-debug
服务,但是nginx-common
在可靠似乎没有提供它,因为它是构建到默认二进制文件中的。您需要做的就是修改您的配置。
现在寻找error_log
指令通过您的配置(/etc/nginx/nginx.conf
)。使用语法,error_log file [level];
您应该添加(或更改)级别debug
,文件是您的路径。如果没有指定级别,error
则使用默认级别。
答案2
没有。Ubuntunginx
提供的版本已经使用调试选项进行编译。该指南中显示的步骤旨在用于编译您自己的版本nginx
,如果您必须提出您提出的问题,那么您绝对不应该这样做。
答案3
https://docs.nginx.com/nginx/admin-guide/monitoring/debugging/#debug-log-for-selected-ips
选定 IP 的调试日志
error_log /path/to/log;
...
events {
debug_connection 192.168.1.1;
debug_connection 192.168.10.0/24;
}