定位 Nginx 日志中的报错,通常可以按下面几个步骤来做,从找日志文件 → 看错误类型 → 精确定位请求 → 结合配置分析。
/var/log/nginx/error.log
/var/log/nginx/access.log
查看 Nginx 配置:
nginx -T | grep -E 'error_log|access_log'
常见配置示例:
error_log /var/log/nginx/error.log error;
access_log /var/log/nginx/access.log;
tail -f /var/log/nginx/error.log
Nginx 错误级别:
debug < info < notice < warn < error < crit < alert < emerg
只看 error 及以上:
grep -E 'error|crit|alert' /var/log/nginx/error.log
Permission denied
可能原因
排查
ps aux | grep nginx
ls -l /path/to/webroot
No such file or directory
或
open() "/xxx" failed
可能原因
connect() failed (111: Connection refused)
upstream timed out
说明
unknown directive
duplicate location
检查配置
nginx -t
awk '{print $9}' /var/log/nginx/access.log | sort | uniq -c
常见异常码:
404:资源不存在500:后端报错502:后端无响应504:后端超时grep "500" /var/log/nginx/access.log
或按 IP:
grep "1.2.3.4" /var/log/nginx/access.log
典型排查思路:
502connect() failed示例:
grep "2026/01/20 10:30" /var/log/nginx/error.log
✅ 1. nginx -t
✅ 2. tail -f error.log
✅ 3. 复现问题
✅ 4. 看 access.log 状态码
✅ 5. 根据错误类型查配置 / 后端
如果你愿意,可以把一段 Nginx 报错日志或你的 Nginx 配置发出来,我可以直接帮你定位是哪一类问题。