温馨提示×

Nginx错误日志如何开启

小樊
35
2026-07-27 19:15:05
栏目: 编程语言

要开启 Nginx 错误日志(error_log),主要通过修改 Nginx 配置文件 来实现。下面按常见场景详细说明。


一、Nginx 错误日志基本配置

1️⃣ 配置语法

error_log 文件路径 日志级别;

示例:

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

2️⃣ 常见日志级别(从低到高)

级别 说明
debug 调试信息(最详细,生产环境慎开)
info 一般信息
notice 注意信息
warn 警告
error 错误(默认常用)
crit 严重错误
alert 紧急
emerg 系统不可用

推荐生产环境

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

二、开启错误日志的具体步骤

✅ 方法一:在 nginx.conf 中全局开启(推荐)

编辑主配置文件:

vim /etc/nginx/nginx.conf

http {} 块中添加或修改:

http {
    error_log  /var/log/nginx/error.log  error;
}

✅ 方法二:针对某个站点(server)单独开启

在虚拟主机配置中:

server {
    listen 80;
    server_name example.com;

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

    location / {
        root /usr/share/nginx/html;
    }
}

✅ 方法三:针对某个 location 开启

location /api/ {
    error_log /var/log/nginx/api_error.log debug;
}

⚠️ debug 级别需要 Nginx 编译时支持 debug 模块


三、关闭错误日志(不推荐)

error_log off;

⚠️ 并不是完全关闭,只是输出到 /dev/null


四、检查并生效

1️⃣ 检查配置是否正确

nginx -t

2️⃣ 重载 Nginx

nginx -s reload
# 或
systemctl reload nginx

五、查看错误日志

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

六、常见问题

❓ 日志不生成?

  • 目录不存在
  • Nginx 没有写权限
  • 配置未 reload

解决:

mkdir -p /var/log/nginx
chown -R nginx:nginx /var/log/nginx

❓ 想同时开启访问日志?

access_log /var/log/nginx/access.log;

如果你愿意,可以告诉我:

  • ✅ 你的 Nginx 版本
  • ✅ 使用的是 源码 / yum / docker
  • ✅ 想排查的具体错误

我可以帮你给出最合适的最小配置

0