首页主机资讯Ubuntu上Nginx日志如何查看

Ubuntu上Nginx日志如何查看

时间2025-12-09 11:55:05发布访客分类主机资讯浏览437
导读:Ubuntu 上 Nginx 日志查看与排查指南 一 日志位置与类型 默认日志目录:/var/log/nginx/ 常见日志文件: 访问日志:/var/log/nginx/access.log 错误日志:/var/log/nginx/e...

Ubuntu 上 Nginx 日志查看与排查指南

一 日志位置与类型

  • 默认日志目录:/var/log/nginx/
  • 常见日志文件:
    • 访问日志:/var/log/nginx/access.log
    • 错误日志:/var/log/nginx/error.log
  • 配置指令位置:主配置 /etc/nginx/nginx.conf,站点配置 /etc/nginx/sites-enabled/(日志路径由 access_logerror_log 指令定义,若未显式设置,通常写入上述默认文件)

二 快速查看与检索

  • 实时查看访问日志与错误日志
    • 命令:sudo tail -f /var/log/nginx/access.logsudo tail -f /var/log/nginx/error.log
  • 按时间过滤
    • 示例:journalctl -u nginx --since "2025-12-09 00:00:00" --until "2025-12-09 12:00:00"
  • 按级别过滤
    • 示例:journalctl -u nginx -p err(仅显示错误级别)
  • 关键字检索
    • 示例:grep "404" /var/log/nginx/access.loggrep -i "permission denied" /var/log/nginx/error.log
  • 说明
    • 使用 tail -f 可实时跟踪新增日志
    • 使用 journalctl -u nginx 可查看由 systemd 管理的 Nginx 服务日志(适合排查启动失败、重启等)

三 多站点与自定义日志路径

  • 多站点可按虚拟主机拆分日志,便于定位问题
    • 示例配置:
      http {
          
        access_log /var/log/nginx/access.log;
      
        server {
          
          listen 80;
          
          server_name example.com;
          
          access_log /var/log/nginx/example.access.log;
      
          ...
        }
      
      }
      
      
  • 变更后检查并重载
    • 检查语法:sudo nginx -t
    • 重载配置:sudo systemctl reload nginx
  • 提示
    • 若未为某 server 指定 access_log,将沿用 http 层级或默认路径

四 日志分析与可视化

  • 高频访问与状态码统计
    • Top 10 IP:awk '{ print $1} ' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -10
    • Top 20 URL:awk '{ print $7} ' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -20
    • 状态码分布:awk '{ print $9} ' /var/log/nginx/access.log | sort | uniq -c | sort -nr
  • 使用 GoAccess 生成可视化报告
    • 安装:sudo apt install -y goaccess
    • 报告:goaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.html
    • 实时 HTML:goaccess /var/log/nginx/access.log --log-format=COMBINED --real-time-html --port=7890 -o /var/www/html/realtime.html
  • 其他工具
    • 交互式查看:sudo apt install -y lnav & & lnav /var/log/nginx/
    • 实时监控:sudo apt install -y ngxtop

五 日志轮转与常见问题排查

  • 日志轮转
    • 配置目录:/etc/logrotate.d/nginx
    • 作用:按日/周轮转、压缩、保留历史,避免单个日志过大
  • 排查清单
    • 配置语法:sudo nginx -t
    • 服务状态:sudo systemctl status nginx
    • 端口占用:sudo ss -tulnp | grep ':80\|:443'
    • 错误线索:优先查看 /var/log/nginx/error.logjournalctl -u nginx 的时间点与错误级别
  • 相关组件日志
    • PHP-FPM:常见路径 /var/log/php7.x-fpm.log/var/log/php-fpm/error.log(版本与发行版不同可能有所差异)
    • MySQL/MariaDB:/var/log/mysql/error.log
    • 系统日志:/var/log/syslog(可用于关联系统层面的事件)

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu上Nginx日志如何查看
本文地址: https://pptw.com/jishu/766953.html
Nginx如何与Ubuntu数据库配合 如何在Ubuntu上更新Nginx版本

游客 回复需填写必要信息