我有一个复杂的问题,我不知道如何debugging。 在我的prod服务器,我有一个nginx编译从页面速度来源。 一切正常,但有时,我不能识别模式,nginx停止工作,没有任何错误日志中的错误。
error_log /usr/local/nginx/localhost-error.log;
如果我做HTOP我找不到任何与nginx相关的pid,所以我需要每次手动启动nginx我有这个问题。
nohup /usr/local/nginx/sbin/nginx &
否则,nginx工作正常。 我不知道是否重要,但是有时候我会接受基本authentication的powershell攻击,但是我经过3次错误的尝试后却不能使用。
我怎样才能find这个问题的原因?
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful nginx version: nginx/1.10.1
没有更多的信息,很难说问题是什么。 只是要抛开一些想法。 编辑您的文章更多的信息,也许我们可以弄明白。
/var/log/syslog
是否有任何相关的内容? stdout
/ stderr
。 像这样的东西。 也许你会再次发生一些有趣的事情。 nohup /usr/local/nginx/sbin/nginx >> /var/log/nginx.out 2>&1 &
运行一个脚本,只要看到nginx死亡就会logging。 然后,您可以使用它将其与系统上的其他事件相关联。
while true; do NUM_INSTANCES=$(ps -A | grep nginx | wc -l) if [[ "$NUM_INSTANCES" == 0 ]]; then echo "$(date) nginx just died" >> /var/log/syslog fi sleep 1 done
您也可以用logging器调用replace
echo
。 我用了一个类似的脚本来debugging我的系统。 只要确保在一个脚本文件而不是一个shell中运行它,所以你可以通过执行killall <scriptname>.sh
来杀死它。
此外,nginxdebugging页面上的一些信息可能会有所帮助。 https://www.nginx.com/resources/wiki/start/topics/tutorials/debugging/