nginx日志全解析

 更新时间:2026年07月02日 09:18:25   作者:xixingzhe2  
这篇文章给大家介绍了nginx日志的相关知识,涵盖了默认日志格式、参数,扩展了常用额外日志变量(生产环境经常加),本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1、默认日志格式

Nginx 标准默认 combined 组合日志格式定义:

log_format combined '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent"';
access_log /var/log/nginx/access.log combined;

整条打印日志样例:

39.107.58.204 - - [01/Jul/2026:06:31:58 +0800] "GET /istops/images/aton-license.txt HTTP/1.1" 404 564 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/108.0.0.0 Safari/537.36"

2、参数

详细解释

1.$remote_addr

  • 含义:客户端真实 IP 地址
  • 示例:39.107.58.204
  • 补充: 若前端有 CDN / 反向代理(Nginx、Apache),该值会变成代理服务器 IP,拿不到真实访客 IP; 此时需要配置 $http_x_forwarded_for 获取真实用户 IP。

2.-(占位符,对应$remote_user)

  • 含义:HTTP Basic Auth 认证的登录用户名
  • 示例里是 -:代表本次请求没有使用账号密码登录,无认证用户。
  • 场景:网站开启登录鉴权(基础认证)时,这里会打印登录账号。

3.[$time_local]

  • 含义:服务器本地访问时间,带时区
  • 格式模板:[日/月/年:时:分:秒 时区偏移]
  • 示例:[01/Jul/2026:06:31:58 +0800]
    • 01/Jul/2026:2026 年 7 月 1 日
    • 06:31:58:06 点 31 分 58 秒
    • +0800:东八区(北京时间)

4."$request"

  • 含义:完整 HTTP 请求行,包裹双引号
  • 格式:请求方法 请求URI HTTP协议版本
  • 示例:"GET /istops/images/aton-license.txt HTTP/1.1"
    1. GET:读取资源的请求方法(POST/ PUT/ DELETE 等为提交、修改操作)
    2. /istops/images/aton-license.txt:用户访问的接口 / 文件路径
    3. HTTP/1.1:客户端使用的 HTTP 协议版本

5.$status

  • 含义:HTTP 响应状态码
  • 示例:404 常见状态码分类:
  • 2xx:成功(200 正常、206 分片)
  • 3xx:重定向(301 永久跳转、302 临时跳转)
  • 4xx:客户端错误(404 资源不存在、403 无权限、405 方法不允许)
  • 5xx:服务器错误(500 程序崩溃、502 网关异常、503 服务不可用)

6.$body_bytes_sent

  • 含义:发送给客户端的响应体字节大小(不包含响应头)
  • 示例:564 代表本次 404 页面返回给浏览器的数据共 564 字节;静态图片、视频这里数值会很大。

7."$http_referer"

  • 含义:请求来源页面,引荐地址,双引号包裹
  • 示例:"-"
    • -:无来源,用户直接输入网址、爬虫直接调用接口;
    • 有值示例:"shturl.cc/9bg6kae1dH",代表用户从首页点击链接跳转到当前页面。

8."$http_user_agent"

  • 含义:客户端 UA 标识,识别设备、系统、浏览器,双引号包裹
  • 示例:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/108.0.0.0 Safari/537.36" 从 UA 可判断:
  1. 操作系统:Windows10/11
  2. 浏览器:Chrome 108 版本
  3. 区分:手机、爬虫、PC、小程序、API 请求等

极简记忆对应表

日志片段变量名核心作用
39.107.58.204$remote_addr访客 IP
-$remote_user登录用户名
[01/Jul/2026:06:31:58 +0800]$time_local访问时间
"GET /xxx.txt HTTP/1.1"$request请求行为 + 地址
404$status请求结果状态码
564$body_bytes_sent返回数据大小
"-"$http_referer来源页面
"Chrome/108..."$http_user_agent浏览器 / 设备信息

3、扩展:常用额外日志变量(生产环境经常加)

默认 combined 格式信息有限,线上一般会扩展这些参数:

  1. $request_time:请求总耗时(单位秒,保留小数,排查慢接口核心指标)
  2. $upstream_response_time:后端服务处理耗时(代理后端 Java/Python 服务时用)
  3. $http_x_forwarded_for:CDN / 代理转发后的真实访客 IP
  4. $request_length:客户端请求包总字节大小
  5. $http_cookie:请求携带的 Cookie 内容
  6. $server_name:当前请求访问的域名

到此这篇关于nginx日志全解析的文章就介绍到这了,更多相关nginx日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx缓存页面后 串会话问题的解决方法

    nginx缓存页面后 串会话问题的解决方法

    nginx支持页面缓存,之前我的博客有介绍配置方案,昨天出了一个诡异的问题,别人的机器登录后,我的机器打开应用的首页会出现别人的用户信息,也就是说我的浏览器访问的应用会话其实是别人的会话
    2013-06-06
  • 深入理解Nginx的proxy_cache模块

    深入理解Nginx的proxy_cache模块

    Nginx的proxy_cache模块提供了强大而灵活的缓存功能,本文主要介绍了深入理解Nginx的proxy_cache模块,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Nginx使用ngx_http_upstream_module实现负载均衡功能示例

    Nginx使用ngx_http_upstream_module实现负载均衡功能示例

    本文主要介绍了Nginx使用ngx_http_upstream_module实现负载均衡功能示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Nginx如何自动封禁可疑Ip

    Nginx如何自动封禁可疑Ip

    这篇文章主要介绍了Nginx如何自动封禁可疑Ip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • nginx反向代理https内部定向到http报302的问题及解决

    nginx反向代理https内部定向到http报302的问题及解决

    这篇文章主要介绍了nginx反向代理https内部定向到http报302的问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 教你nginx跳转配置的四种方式

    教你nginx跳转配置的四种方式

    现如今随着应用服务的增多,服务可能部署在不同的服务器上,下面这篇文章主要给大家介绍了关于nginx跳转配置的四种方式,需要的朋友可以参考下
    2022-07-07
  • Nginx服务器部署详细代码实例

    Nginx服务器部署详细代码实例

    Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了 IMAP/POP3/SMTP服务,这篇文章主要介绍了Nginx服务器部署的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-12-12
  • 开发环境服务器vs生产环境服务器:开发与生产须分明详解

    开发环境服务器vs生产环境服务器:开发与生产须分明详解

    开发环境服务器(如Vite)和生产环境服务器(如Nginx和Node.js)在职责和工作方式上存在显著差异,开发环境服务器专注于快速开发和调试,而生产环境服务器则强调稳定性和高并发处理,Vite适合开发环境,而Nginx和Node.js更适合生产环境
    2025-01-01
  • 在Nginx服务器下配置StartSSL和SSL的教程

    在Nginx服务器下配置StartSSL和SSL的教程

    这篇文章主要介绍了在Nginx服务器下配置StartSSL和SSL的教程,其中申请证书的步骤确实比较麻烦一些,不过出于安全考虑:p需要的朋友可以参考下
    2015-07-07
  • Nginx流量拷贝ngx_http_mirror_module模块使用方法详解

    Nginx流量拷贝ngx_http_mirror_module模块使用方法详解

    这篇文章主要介绍了Nginx流量拷贝,Nginx专门提供了ngx_http_mirror_module模块,用来实现流量拷贝。将生产环境的流量拷贝到预上线环境或测试环境
    2022-04-04

最新评论