除非您想放入dtrace探针,否则它不会产生更多的学问:
设置调试日志级别:/etc/nginx/nginx.conf:
...
http {
...
error_log /var/log/nginx/error.log debug; # todo testing remove me not for production use
...
}
在另一个窗口中设置tcpdump:
tcpdump not port 22 -vvv -s0 -q -XXX
在另一个窗口中监视日志文件:
tail -f /var/log/nginx/*
使用strace交互式启动nginx:
# top of /etc/nginx/nginx.conf:
daemon off; # todo testing remove me not for production use
然后
$ strace nginx
使用编译的Nginx可以进行进一步的调试--with-debug
。通过运行检查它:
nginx -V 2>&1 | grep -- '--with-debug' # no output if not debug
另一个默认未编译的好的模块是:HttpStubStatusModule。在任何可能的情况下,任何体面的设置都需要定制编译的nginx(使用Distro的打包工具进行高度推荐的打包)。
其中大多数不适合生产使用,如果需要更多统计信息,请考虑使用gperf编译nginx。