如何用GDB调试Nginx?

下载源码, 解压后

./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来进行日志过滤,查看相应的具体调试信息。

更多关于Nginx的详细信息,或者下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/84daa87d5f8476258bf286c4ca4a7dbe.html