nginx日志

📅 2026/7/2 14:27:00
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.362、参数详细解释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/20262026 年 7 月 1 日06:31:5806 点 31 分 58 秒0800东八区北京时间4.$request含义完整 HTTP 请求行包裹双引号格式请求方法 请求URI HTTP协议版本示例GET /istops/images/aton-license.txt HTTP/1.1GET读取资源的请求方法POST/ PUT/ DELETE 等为提交、修改操作/istops/images/aton-license.txt用户访问的接口 / 文件路径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 可判断操作系统Windows10/11浏览器Chrome 108 版本区分手机、爬虫、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 格式信息有限线上一般会扩展这些参数$request_time请求总耗时单位秒保留小数排查慢接口核心指标$upstream_response_time后端服务处理耗时代理后端 Java/Python 服务时用$http_x_forwarded_forCDN / 代理转发后的真实访客 IP$request_length客户端请求包总字节大小$http_cookie请求携带的 Cookie 内容$server_name当前请求访问的域名