Nginx了解访问日志列

时间:2014-11-06 13:15:42

标签: logging nginx

我理解这个应用程序访问日志的所有列 - IP,日期,请求,响应代码......除了下一列是我不理解的(在下面的示例中,177,4223,4356)。这是什么意思?

66.249.65.159 - - [06/Nov/2014:19:10:38 +0600] "GET /news/53f8d72920ba2744fe873ebc.html HTTP/1.1" 404 177 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5376e Safari/8536.25 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.65.3 - - [06/Nov/2014:19:11:24 +0600] "GET /?q=%E0%A6%AB%E0%A6%BE%E0%A7%9F%E0%A6%BE%E0%A6%B0 HTTP/1.1" 200 4223 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
66.249.65.62 - - [06/Nov/2014:19:12:14 +0600] "GET /?q=%E0%A6%A6%E0%A7%8B%E0%A7%9F%E0%A6%BE HTTP/1.1" 200 4356 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

编辑:我用Google搜索,但找不到任何答案。

2 个答案:

答案 0 :(得分:27)

“响应代码”(即状态)之后的列是“发送的字节数”。

nginx中的默认日志格式称为“合并”。它相当于以下配置。

# nginx.conf
http {
  ...
  log_format combined '$remote_addr - $remote_user [$time_local] '
                      '"$request" $status $body_bytes_sent '
                      '"$http_referer" "$http_user_agent"';
  ...
}

Source: Module ngx_http_log_module

答案 1 :(得分:1)

在您给出的示例中,

177、4223、4356表示发送的字节数,不包括HTTP标头。

Apache和NGINX提供的默认日志几乎相同。尽管变量命名约定不同,但是可用信息相对相同。