nginx server块中配置错误日志需使用error_log指令,指定绝对路径和级别(如warn),可覆盖上级配置,须确保写权限;禁用时可用error_log /dev/null emerg,但不推荐。

在 Nginx 的 server 块中配置错误日志,核心是使用 error_log 指令,它支持指定日志路径和记录级别。
基本写法:指定路径和级别
error_log 必须放在 server 块内(也可在 http 或 location 块中),格式为:
error_log /path/to/error.log [level];- 路径建议用绝对路径,比如
/var/log/nginx/example.com.error.log - 可选级别有:
debug、info、notice、warn、error、crit、alert、emerg;默认是error
常见配置示例
例如为某个域名单独记录错误日志:
server {
listen 80;
server_name example.com;
root /var/www/example;
error_log /var/log/nginx/example.com.error.log warn;
access_log /var/log/nginx/example.com.access.log;
}
这里将警告及以上级别的错误写入独立文件,便于排查该站点问题。
注意事项
多个 error_log 指令会叠加生效,但 server 块中的设置会覆盖 http 块的同名配置;如果只写路径不写级别,就沿用上级或默认级别。
注意确保 Nginx 进程对日志路径有写权限,否则会报 open() "/path/xxx" failed (13: Permission denied) 错误。
关闭错误日志(慎用)
若想禁用该 server 的错误日志,可指向 /dev/null:
-
error_log /dev/null emerg;—— 用最高级别emerg抑制所有输出 - 不推荐完全关闭,调试时容易丢失关键信息











