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를 컴파일하십시오.