Ubuntu服务器Nginx日志级别设置完整教程 (2026)

# Ubuntu服务器Nginx日志级别设置完整教程

Nginx作为高性能Web服务器,日志管理对运维至关重要。本文详细介绍在Ubuntu服务器上配置Nginx日志级别的方法,帮助您优化日志记录策略。

>一、Nginx日志级别概述

Nginx支持多种日志级别,从低到高依次为:

    >

  • debug – 调试信息,最详细的日志
  • info – 一般信息
  • notice – 通知信息(默认级别)
  • warn – 警告信息
  • error – 错误信息
  • crit – 严重错误
  • alert – 警报信息
  • emerg – 紧急信息

级别越低,记录的内容越详细;级别越高,只记录更严重的问题。

>二、查看当前日志级别

在Ubuntu上,查看Nginx主配置文件:

>cat /etc/nginx/nginx.conf


查找error_log指令,默认配置通常是:

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


未指定级别时,默认为notice级别。

>三、修改日志级别

>3.1 编辑配置文件

>sudo nano /etc/nginx/nginx.conf

3.2 修改error_log指令

将日志级别添加到配置中:

>

仅记录错误及以上级别

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

>或记录警告及以上级别

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

>调试模式(生产环境慎用)

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

3.3 在http/server/location块配置

Nginx支持在不同层级设置日志级别:

>http {
error_log /var/log/nginx/error.log warn;

server {
listen 80;
server_name example.com;

# 此server使用更详细的日志
error_log /var/log/nginx/example_error.log info;

location /api/ {
# API路径单独设置
error_log /var/log/nginx/api_error.log debug;
}
}
}

四、验证并重启

>4.1 测试配置语法

>sudo nginx -t

4.2 重载配置

>sudo systemctl reload nginx


或重启服务:

>sudo systemctl restart nginx

五、访问日志配置

除了错误日志,Nginx访问日志也可自定义:

>http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

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


可关闭特定location的访问日志:

>location /static/ {
access_log off;
}

六、日志轮转配置

Ubuntu默认安装logrotate处理日志轮转,配置文件位于:

>cat /etc/logrotate.d/nginx


自定义轮转策略:

>/var/log/nginx/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 0640 www-data adm
sharedscripts
postrotate
[ -f /var/run/nginx.pid ] && kill -USR1 cat /var/run/nginx.pid
endscript
}

七、生产环境建议

1. 使用warn或error级别 - 减少磁盘I/O和存储空间
2. 开启日志压缩 - 节省存储空间
3. 设置日志轮转 - 防止日志文件过大
4. 监控日志文件 - 使用工具如ELK Stack进行日志分析
5. debug级别仅用于排查问题 - 上线后及时改回生产级别

>八、常见问题排查

>问题1:配置不生效

检查配置语法并确保重启服务:

>sudo nginx -t && sudo systemctl reload nginx

问题2:日志文件权限问题

>sudo chown -R www-data:adm /var/log/nginx/
sudo chmod -R 755 /var/log/nginx/

问题3:磁盘空间不足

检查日志目录大小:

>du -sh /var/log/nginx/


及时清理或调整轮转策略。

---

通过合理设置Nginx日志级别,可以在问题排查和系统性能之间取得平衡,建议根据实际业务需求灵活调整配置。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注