nginx 开启调试日志-元一软件
要启用调试日志在nginx生成期间需要配置以支持调试./configure --with-debug...然后应该使用 ERROR_LOG 指令来设置调试级别error_log /path/to/log debug;要验证 nginx 配置为支持调试请运行 nginx -v 命令configure arguments: --with-debug...预构建的 linux 包提供了开箱即用的支持可以使用 nginx -debug 二进制文件(1.9.8)来调试日志可以使用命令运行日志。servicenginx stopservicenginx-debug start然后设置调试级别。Windows 的 nginx 二进制版本总是带有调试日志支持的所以只设置调试级别就足够了。注意在不指定 debug 级别的情况下重新定义日志将禁用调试日志。在下面的示例中重新定义 server 级别的日志将禁用此服务器的调试日志# 全局定义日志error_log /path/to/log debug;http{server{# 重新定义日志error_log /path/to/log;...为了避免这种情况应该注释掉重新定义日志的行或者添加 debug 级别规范# 定义全局日志error_log /path/to/log debug;http{server{# 重新定义日志且设置为 debug 级别error_log /path/to/log debug;...选定客户端的调试日志还可以只为选定的客户端地址启用调试日志# 全局日志配置error_log /path/to/log;events{# 调试指定客户端debug_connection192.168.1.1;debug_connection192.168.10.0/24;}记录到循环内存缓冲区调试日志可以写入循环内存缓冲区error_log memory:32m debug;即使在高负载情况下在 debug 级别上记录到内存缓冲区也不会对性能产生重大影响。在这种情况下可以使用GDB脚本提取日志如下所示set$logngx_cycle-logwhile$log-writer!ngx_log_memory_writerset$log$log-next endset$buf(ngx_log_memory_buf_t *)$log-wdata dump binary memory debug_log.txt$buf-start$buf-end