Nginx 配置 access log 请求日志详解

Posted 小伍

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx 配置 access log 请求日志详解相关的知识,希望对你有一定的参考价值。

配置示例

log_format main \'$remote_addr - $remote_user [$time_local] \'
                \'"$request" $status $bytes_sent \'
                \'"$http_referer" "$http_user_agent" "$http_x_forwarded_for"\';

access_log logs/access.log main;

log_format 指令

默认值:log_format combined "...";

标签段位置:http

常用变量:

  • $bytes_sent 发送给客户端内容的字节数,位于ngx_http_log_module
  • $request_length 请求长度(包括请求行,标头和请求正文),位于ngx_http_log_module
  • $request_time 要求以毫秒为单位的处理时间,位于ngx_http_log_module
  • $status 状态码,位于ngx_http_log_module
  • $time_local 请求的本地时间和市区,位于ngx_http_log_module
  • $remote_addr 客户端地址,位于ngx_http_core_module
  • $remote_user Basic授权模式下的客户端用户名称,位于ngx_http_core_module
  • $request 完整的请求地址和协议,位于ngx_http_core_module
  • $request_body 请求的body内容,位于ngx_http_core_module
  • $http_host 域名或IP
  • $http_referer 请求的跳转来源
  • $http_user_agent 浏览器信息
  • $http_x_forwarded_for 记录客户端地址的配置
如果变量对应的值不存在,则以“-”代替。

access_log 指令

默认值:access_log logs/access.log combined;

标签段位置:http, server, location, if in location, limit_except

access_log off;
access_log logs/access.log main;
access_log logs/access.log main buffer=32k flush=5s;
map $status $loggable {
    ~^[23]  0;
    default 1;
}

# 非2xx 和 3xx 的状态才写入日志
access_log /path/to/access.log main if=$loggable;

重载配置

../sbin/nginx -t
../sbin/nginx -s reload

参考:http://nginx.org/en/docs/http...

http://nginx.org/en/docs/http...

以上是关于Nginx 配置 access log 请求日志详解的主要内容,如果未能解决你的问题,请参考以下文章

nginx access.log影响访问速度吗

Nginx 配置post请求,用body收集日志数据

(005)Nginx之日志log_format

nginx access log怎么看请求ip

Nginx日志

Nginx——nginx日志类型(Centos7通过yum方式安装)