
Nginx 访问日志怎么看常用日志分析命令整理维护网站时Nginx 访问日志是非常重要的排查工具。通过访问日志可以查看哪些 IP 访问了网站哪些页面访问量最高是否存在大量 404 请求搜索引擎蜘蛛有没有抓取某个时间段内网站是否被异常扫描。下面整理一些常用的 Nginx 日志分析命令。一、找到 Nginx 访问日志常见的日志位置是/var/log/nginx/access.log宝塔面板的网站日志通常位于/www/wwwlogs/查看日志文件ls-lh/www/wwwlogs/例如网站域名是example.com日志可能是/www/wwwlogs/example.com.log查看最近 100 条记录tail-n100/www/wwwlogs/example.com.log实时查看访问情况tail-f/www/wwwlogs/example.com.log退出实时查看可以按Ctrl C二、了解日志中的主要字段一条常见的 Nginx 访问日志如下1.2.3.4 - - [02/Oct/2026:20:15:30 0800] GET /article/1 HTTP/1.1 200 5321 - Mozilla/5.0其中1.2.3.4访客 IP02/Oct/2026:20:15:30访问时间GET请求方法/article/1访问路径200HTTP 状态码5321响应内容大小Mozilla/5.0浏览器或蜘蛛的 User-Agent。不同服务器的日志格式可能不完全相同具体字段由 Nginx 的log_format配置决定。三、统计访问次数最多的 IP执行awk{print $1}/www/wwwlogs/example.com.log|sort|uniq-c|sort-nr|head-20结果可能类似1250 1.2.3.4 860 5.6.7.8 420 9.10.11.12左侧是访问次数右侧是 IP 地址。如果某个 IP 在短时间内产生大量请求需要继续判断它是正常搜索引擎蜘蛛网站接口调用扫描器恶意请求CC 攻击流量。不能只根据访问次数直接封禁。四、统计访问量最高的页面默认 combined 日志格式下可以使用awk{print $7}/www/wwwlogs/example.com.log|sort|uniq-c|sort-nr|head-20结果可能是3200 / 1800 /article/1 950 /login 620 /favicon.ico这样可以快速看到访问量最高的页面。如果结果中出现大量陌生路径例如/.env /wp-login.php /phpmyadmin /config.php通常说明网站正在被自动化工具扫描。即使网站没有使用 WordPress也可能收到针对wp-login.php的扫描请求。五、统计 HTTP 状态码执行awk{print $9}/www/wwwlogs/example.com.log|sort|uniq-c|sort-nr可能看到8500 200 620 301 310 404 25 500常见状态码含义200请求成功301永久跳转302临时跳转403禁止访问404页面不存在500服务器内部错误502上游服务异常504上游服务响应超时。如果 404 数量突然增加可以进一步查看具体路径awk$9 404 {print $7}/www/wwwlogs/example.com.log|sort|uniq-c|sort-nr|head-20如果出现较多 500、502 或 504还需要结合 Nginx 错误日志继续排查。六、查看某个 IP 的访问记录假设需要检查 IP1.2.3.4grep^1.2.3.4 /www/wwwlogs/example.com.log只查看最近 50 条grep^1.2.3.4 /www/wwwlogs/example.com.log|tail-n50统计这个 IP 的访问次数grep-c^1.2.3.4 /www/wwwlogs/example.com.log查看它主要访问了哪些页面grep^1.2.3.4 /www/wwwlogs/example.com.log|awk{print $7}|sort|uniq-c|sort-nr|head七、查看搜索引擎蜘蛛记录查看百度蜘蛛grep-iBaiduspider/www/wwwlogs/example.com.log|tail-n50查看 Google 蜘蛛grep-iGooglebot/www/wwwlogs/example.com.log|tail-n50查看 Bing 蜘蛛grep-ibingbot/www/wwwlogs/example.com.log|tail-n50统计不同蜘蛛的请求次数grep-EioBaiduspider|Googlebot|bingbot|Sogou[^ ]*|360Spider/www/wwwlogs/example.com.log|sort|uniq-c|sort-nr需要注意User-Agent 可以伪造。日志中显示Baiduspider不一定代表它是真正的百度蜘蛛。如果要验证还需要检查来源 IP 和反向解析结果。八、只分析今天的访问记录Nginx 日志中的日期通常类似02/Oct/2026可以先生成当天日期TODAY$(LC_ALLCdate%d/%b/%Y)统计今天的请求数量grep$TODAY/www/wwwlogs/example.com.log|wc-l统计今天访问最多的 IPgrep$TODAY/www/wwwlogs/example.com.log|awk{print $1}|sort|uniq-c|sort-nr|head-20如果服务器时区不是北京时间统计结果可能与实际日期存在偏差需要先确认系统时区timedatectl九、网站使用 CDN 时要注意真实 IP如果网站接入了 CDN日志中的第一个 IP 可能是 CDN 节点地址而不是访客真实 IP。这时需要正确配置真实 IP 模块并确认 CDN 使用的请求头例如X-Forwarded-For CF-Connecting-IP X-Real-IP请求头不能随意信任只应信任来自官方 CDN 节点的请求否则访问者可以伪造来源 IP。总结分析 Nginx 访问日志时可以按照下面的顺序处理找到网站对应的日志文件查看最近的访问记录统计访问次数最多的 IP统计访问量最高的页面检查 404、500、502 和 504 状态码查看搜索引擎蜘蛛记录对异常 IP 和异常路径进一步分析。Nginx 日志包含了大量有用信息。掌握几个常用的grep、awk、sort和uniq命令就能快速了解网站的访问情况。标签Nginx、Linux、访问日志、服务器运维、日志分析