帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在服务器中配置Nginx的访问日志文件

如何在服务器中配置Nginx的访问日志文件

发布时间:2020年05月15日 16:38:45    来源: A5互联

Nginx是一个开源的高性能HTTP和反向代理服务器,负责处理Internet上一些最大站点的负载。在管理NGINX Web服务器时,您将执行的最常见任务之一是检查日志文件。

每当处理客户请求时,Nginx都会在访问日志中生成一个新事件。每个事件记录都包含一个时间戳,并包含有关客户端和所请求资源的各种信息。访问日志可以向您显示访问者的位置,访问者访问的页面,他们在页面上花费的时间等等。

该log_format指令允许您定义记录消息的格式。该access_log指令启用并设置日志文件的位置和使用的格式。

该access_log指令的最基本语法如下:

access_log log_file log_format;

其中log_file是日志文件的完整路径,是日志文件log_format使用的格式。

访问日志可以在被启用http,server或location指令块。

默认情况下,访问日志在httpNginx主配置文件中的指令中全局启用。

/etc/nginx/nginx.conf


http {

...

access_log /var/log/nginx/access.log;

...

}

为了提高可读性,建议为每个服务器块设置一个单独的访问日志文件。在access_log该指令集server指令覆盖在所述一个组http(高层)指令。

/etc/nginx/conf.d/domain.com.conf


http {

...

access_log /var/log/nginx/access.log;

...


server {

server_name domain.com

access_log /var/log/nginx/domain.access.log;

...

}

}

如果未指定日志格式,Nginx将使用如下所示的预定义组合格式:

log_format combined '$remote_addr - $remote_user [$time_local] '

'"$request" $status $body_bytes_sent '

'"$http_referer" "$http_user_agent"';

要更改日志记录格式,请覆盖默认设置或定义一个新设置。例如,定义一个名为custom的新日志记录格式,它将使用显示标题的值扩展组合格式,X-Forwarded-For在httpor server指令中添加以下定义:

log_format custom '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

要使用新格式,请在日志文件后指定其名称,如下所示:

access_log /var/log/nginx/access.log custom;

虽然访问日志提供了非常有用的信息,但它占用了磁盘空间,并可能影响服务器性能。如果服务器资源不足,并且网站繁忙,则可能要禁用访问日志。为此,请将access_log伪指令的值设置为off:

access_log off;