下载源码, 解压后
./configure --with-debug
make
make install
Nginx提供了单进程模型和非守护进程的方式,由两个配置选项来控制:
守护进程配置:
daemon on | off ; Default: on
多进程配置:
master_process on | off ; Default: on
下来配置 nginx.conf 文件
在下面添加3行:
error_log logs/error.log debug; # 只记录调试日志
master_process off; # 简化调试 此指令不得用于生产环境
daemon off; # 简化调试 此指令可以用到生产环境
下来 gdb nginx
(gdb) run 回车 即可正常设置断点, 查看日志了。
因为日志占用的空间非常大,为了更加便于收集日志,
Nginx还提供了一个配置选项用来设置只记录特定连接的调试信息,
这个配置选项为debug_connection。比如我们只对来自192.168.1.1的连接进行调试信息的记录,
配置如下:
events {
worker_connections 1024;
debug_connection 192.168.1.1;
}
这时我们可以通过 tail -f logs/error.log -n 100|grep debug来进行日志过滤,查看相应的具体调试信息。