定位 Nginx 日志中的报错信息,通常可以按下面几个步骤来进行:
nginx -t
输出中会显示配置文件路径,例如:
/etc/nginx/nginx.conf
然后查看配置:
grep -R "access_log\|error_log" /etc/nginx/
常见位置:
/var/log/nginx/error.log/var/log/nginx/access.log也可在 nginx.conf 或 sites-enabled/ 中看到类似:
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;
tail -f /var/log/nginx/error.log
tail -n 100 /var/log/nginx/error.log
grep -i error /var/log/nginx/error.log
grep -i "permission denied" /var/log/nginx/error.log
grep -i "upstream" /var/log/nginx/error.log
| 报错信息 | 可能原因 |
|---|---|
Permission denied |
文件/目录权限问题 |
No such file or directory |
root 路径或 index 文件错误 |
connection refused |
后端服务(如 PHP、Java)未启动 |
upstream timed out |
后端响应慢 |
too many open files |
系统文件描述符不足 |
client intended to send too large body |
上传文件超限 |
log_format main '$remote_addr - $request - $status';
grep " 500 " /var/log/nginx/access.log
grep " 404 " /var/log/nginx/access.log
grep "192.168.1.100" /var/log/nginx/access.log
grep "/api/login" /var/log/nginx/access.log
error_log /var/log/nginx/error.log debug;
然后:
nginx -s reload
tail -f /var/log/nginx/error.log
⚠️ 生产环境慎用,日志量很大。
tail -f error.logconnect() failed (111: Connection refused)如果你能贴一段 具体的 Nginx 报错日志,我可以直接帮你分析是哪一环节的问题。