Nginx配置error_log日志级别排查错误 Nginx

前言

Nginx 报错只在浏览器看到 502/404,具体原因要查 error_log。默认日志级别可能太粗,关键错误被淹没;排查时可调高详细级别。本文讲解 error_log 位置、级别选择、按 server 单独设日志和常用错误对照。

操作步骤

1. 查看全局错误日志位置

nginx -T 2>/dev/null | grep error_log

常见路径 /var/log/nginx/error.log。

2. 设置日志级别(http 块)

error_log /var/log/nginx/error.log warn;

级别从低到高:debug, info, notice, warn, error, crit。

3. 单独为某站点设日志

server {
    error_log /var/log/nginx/site-error.log warn;
}

4. 实时跟踪错误

tail -f /var/log/nginx/error.log

5. 排查时临时开 debug

error_log /var/log/nginx/error.log debug;

排查完及时降回,避免日志暴增。

6. 校验并重载

nginx -t && nginx -s reload

常见坑

  1. 只看 access.log,真正原因在 error.log。
  2. debug 级别长期开启,磁盘被海量日志写满。
  3. 日志路径目录不存在,Nginx 启动失败。
  4. 多个 server 共用日志,分不清哪个站点报错。
  5. 日志切割未配置,单文件无限增长。
  6. 权限不足写不进日志,降为 error 级别也可能失败。
  7. 反代错误(upstream)要结合后端日志一起看。

总结

error_log 设路径和级别,warn 日常够用,排查临时升 debug。按站点单独分日志便于定位。debug 用完即关,配合 logrotate 切割。502/超时类问题把 error.log 和后端日志对照看。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-11-15 07:13 
'); })();