Nginx 日志报错排查一般按下面几个步骤来,比较实用也系统:
nginx -t
会显示配置文件路径,例如:
/etc/nginx/nginx.conf
在 nginx.conf 或站点配置中找:
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
常见默认路径:
/var/log/nginx/error.log/var/log/nginx/access.logtail -f /var/log/nginx/error.log
访问出问题的页面,看实时报错。
查看最近 100 行:
tail -n 100 /var/log/nginx/error.log
Permission deniedopen() "/var/www/html/index.html" failed (13: Permission denied)
✅ 解决:
chown -R www-data:www-data /var/www
chmod -R 755 /var/www
No such file or directoryfailed (2: No such file or directory)
✅ 检查:
connect() failed (111: Connection refused)proxy_pass 的后端服务没启动
✅ 检查后端(如 PHP、Tomcat、Node)
too many open filesworker_connections are not enough
✅ 调整:
worker_rlimit_nofile 65535;
error_log /var/log/nginx/error.log debug;
⚠️ 排完记得改回 error 或 warn
tail -f /var/log/nginx/access.log
看:
| 错误 | 原因 |
|---|---|
| 502 | 后端挂了 / 端口错 |
| 503 | 限流 / 后端不可用 |
| 504 | 后端响应超时 |
| 500 | 后端代码报错 |
nginx -t
systemctl status nginx
journalctl -u nginx
ss -lntp | grep nginx
如果你愿意,可以把 具体的 Nginx 报错信息贴出来,我可以直接帮你定位原因和给修改方案。