Nginx访问日志及错误日志参数说明

  

这里为您详细讲解“Nginx访问日志及错误日志参数说明”的完整攻略。

一、Nginx访问日志

1.1 访问日志参数说明

在Nginx的配置文件中,通过配置access_log指令来设置访问日志的存储路径和格式。access_log指令的语法格式如下:

access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];

下面是access_log指令中常用的参数说明:

  • path: 访问日志的存储路径,可以是绝对路径或相对路径。
  • format: 访问日志的格式,常用格式有main、combined和json等。其中,main格式包含了最基本的请求信息,如IP地址、请求时间、请求方法、请求的URL和HTTP协议版本号、返回状态码、发送的字节数等;combined格式是综合了访问日志和错误日志,它包含了访问日志的所有信息以及错误日志中的HTTP_REFERER和HTTP_USER_AGENT信息;json格式以JSON字符串的格式输出,通常需要借助第三方工具进行解析和分析。
  • buffer: 缓冲区的大小,可以指定单位为kb、mb或gb,缺省为32k。可以通过access_log off指定禁用访问日志。
  • gzip: 可以设置对访问日志进行gzip压缩,可以指定压缩等级,如果不指定等级,则默认为6。可以通过access_log gzip off指定禁用gzip压缩。
  • flush: 缓存的时间,超过该时间后自动刷新缓存,缺省为1秒。
  • if: 指定访问日志的条件,只有满足条件的请求才会被记录到访问日志中。

1.2 访问日志示例说明

以main格式为例,设置Nginx的访问日志,并记录请求的IP地址、请求时间、请求路径、HTTP协议版本号、返回状态码、发送字节数和referer信息。在Nginx的配置文件中添加如下指令:

access_log logs/access.log main;

配置完成后,每个请求的信息比如127.0.0.1 - - [18/Sep/2019:16:50:06 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebkit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"将被记录到logs/access.log文件中。

二、Nginx错误日志

2.1 错误日志参数说明

在Nginx的配置文件中,通过配置error_log指令来设置错误日志的存储路径和格式。error_log指令的语法格式如下:

error_log path [level];

下面是error_log指令中常用的参数说明:

  • path: 错误日志的存储路径,可以是绝对路径或相对路径。
  • level: 日志的级别,常用的有debug、info、notice、warn、error和crit等级别。其中,debug会输出最详细的调试信息,crit则只输出最高级别的错误信息。缺省为error级别。

2.2 错误日志示例说明

设置Nginx的错误日志,并记录错误的级别、错误信息以及请求的IP地址、请求时间和请求路径等信息。在Nginx的配置文件中添加如下指令:

error_log logs/error.log debug;

配置完成后,每次发生的错误日志将会被记录到logs/error.log文件中,例如发生了404错误,相应的日志信息如下:

2019/09/18 18:22:14 [error] 9181#9181: *6 open() "/usr/share/nginx/html/abc.html" failed (2: No such file or directory), client: 192.168.1.1, server: localhost, request: "GET /abc.html HTTP/1.1", host: "localhost:80"

以上就是关于Nginx访问日志及错误日志参数说明的完整攻略。

相关文章