(005)Nginx之日志log_format

Posted 明月之诗

tags:

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

  1、日志路径

  nginx日志包括error_log和access_log,在/etc/nginx/nginx.conf中有配置。

  error_log:主要记录nginx处理http请求的错误状态,以及nginx本身服务运行的错误状态。

  access_log:记录nginx每一次http请求的访问状态,主要用于分析每一次访问的请求和客户端的交互行为。

  2、配置语法

  Nginx的日志格式由log_format定义,语法如下:
  Syntax:log_format name [escape=default|json] String...;
  Default:log_format combined "...";
  Context:http

  

  3、Nginx变量

  HTTP请求变量:arg_PARAMETER、http_HEADER(request的)、sent_http_HEADER(response的)

  内置变量:Nginx内置的

  自定义变量:自己定义

  (1)演示一下添加HTTP请求变量:User-Agent

  

  需要把 User-Agent 改为 user_agent 前添加$http_

  

  检查配置语法是否正确

nginx -t -c /etc/nginx/nginx.conf

  重新加载配置

nginx -s reload -c /etc/nginx/nginx.conf

  多次请求127.0.0.1,验证成功

curl 127.0.0.1
tail -n 200 /var/log/nginx/access.log

  

   (2)内置变量可以去官网查找:http://nginx.org/en/docs/,点击:Logging to syslog

  

  

  

  (3)默认内置变量解析

  $remote_addr:客户端地址
  $remote_user:http客户端请求nginx,认证的用户名,默认没有开启这个认证模块的话不会记录该信息
  $time_local:nginx的时间
  $request:request请求行
  $status:response返回状态
  $body_bytes_sent:从服务端响应给客户端body信息的大小
  $http_referer:上一级页面的url地址
  $http_user_agent:记录客户端用什么来访问的
  $http_x_forwarded_for:记录每一级用户从http请求里面携带的http信息

 

 

 

 

   

  

以上是关于(005)Nginx之日志log_format的主要内容,如果未能解决你的问题,请参考以下文章

Nginx日志格式log_format详解

Nginx服务器log_format设置更详细的日志格式

nginx配置log_format日志格式不生效

nginx 日志log_format

nginx 日志log_format格式

Nginx日志格式log_format详解