菜鸟笔记
提升您的技术认知

Nginx日志文件

Nginx提供了一个非常灵活的日志记录功能,它可以使每个块的配置拥有各自独立的日志进行记录,并且根据记录内容的不同又分为访问日志和错误日志。

访问日志

访问日志只要用于记录客户端访问Nginx的每一个请求,格式可以通过log_format指定进行自定义,存储路径、缓存大小等可以使用access_log指令设置。通过访问日志的配置,可以记录用户IP、访问时间、请求方式、响应状态、地域来源、跳转来源、使用终端等信息。

1、查询默认访问配置

打开Nginx的配置文件nginx.conf,找到log_format与access_log指令的默认配置:

Nginx默认开启了访问日志的功能,且log_format指令的配置仅可用在http模块内,否则会出现警告信息

      上图红框中圈着的为默认配置,1-3行用于设置访问日志格式,main表示访问日志格式名称,用户可以自定义,其后的字符串表示访问日志的格式样式。其中相关的内置变量的含义如下:

$remote_addr:与 $http_x_forwarded_for 用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local:用来记录访问时间与时区;
$request:用来记录请求的http的方式与url;
$request_time:用来记录请求时间;
$status:用来记录请求状态;成功是200,
$body_bytes_sent:记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
$http_user_agent:记录客户毒啊浏览器的相关信息。

      第4行中access_log指令的第1个参数logs/access.log用于指定相对于Nginx的安装目录/usr/local/nginx的日志文件存放路径,并且包含日志文件名称,第2个参数表示由log_format指令定义的日志格式名称。

进入logs目录,查询access_log日志:

2、关闭访问日志

关闭访问日志实现非常简单,只需要将access_log指令的参数设置为off即可。

access_log off

错误日志

1、默认错误日志配置

错误日志是由error_log指定设置的,主要用来记录客户端在访问Nginx时出错的记录,且该错误显示格式不支持自定义功能。

error_log指定,第1个参数用于存放错误日志的路径,第2个参数用于指定错误记录详细程度的等级,默认值为error。

在实际应用中,error_log指定除了可以像默认配置一样在main块中设置,还可以在http、server、location块中设置。配置方式相同。

2、关闭错误日志

Nginx关闭错误日志的实现方式比较特殊,具体设置如下:

error_log /dev/null

将错入日志信息全部输出到Linux空设备中,表示丢掉输出信息。