如何在Ubuntu 20.04系统中配置和查看Nginx日志

日志在系统中监视应用程序的活动非常重要,因为日志为您提供了有用的调试信息,并使您能够分析Web服务器的各个方面。与其他软件应用程序一样,Nginx还维护事件,例如网站访问者,遇到的问题以及更多日志文件。有用的记录信息用于采取先发制人的措施,以处理日志事件中的重大严重差异。

在本文中,我们将详细介绍如何在Ubuntu 20.04系统中配置和查看Nginx日志以监视应用程序活动

Nginx中记录事件的日志有两种类型,一种是访问日志,另一种是错误日志。如果您已经在Nginx核心配置文件中启用了这些日志,那么您可以在所有Linux发行版的/var/log/nginx中找到这两种类型的日志。

Nginx访问日志

与网站访问者有关的所有活动都记录在访问日志中。在这种类型的日志中,您可以找到最近访问的那些文件,Nginx如何响应客户端请求,客户端IP地址,客户端正在使用的浏览器等等。通过使用访问日志的信息,您可以监视流量以查找一段时间内的站点使用情况。如果正确监视访问日志,则可以轻松找到用户发送的一些异常请求,以检查已部署应用程序中的缺陷。

启用Nginx访问日志

你可以在服务器部分或HTTP中使用access_log伪指令启用访问日志。

access_log log_file log_format;

第一个参数“ log_file”是强制性的,而第二个参数是可选的“ log_format”。如果您未提及日志格式,则将以默认的组合格式键入日志。

默认情况下,访问日志是在Nginx配置文件中定义的。因此,所有虚拟主机的访问日志都将存储在同一配置文件中。

http {
...
access_log /var/log/nginx/access.log;
...
}

建议通过记录到新的单独文件中来分开所有虚拟主机的访问日志。

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

server {
listen 80;
Server_name example.com
access_log /var/log/nginx/example.access.log;
...
...
}
}

重新加载新的NGINX配置。现在,您可以使用以下命令在/var/log/nginx/example.access.log文件中访问example.com域的访问日志:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo tail -f /var/log/nginx/example.access.log

自定义访问日志中的格式

让我们解释一个定义自定义访问日志格式的示例。默认情况下,访问日志以组合日志格式记录。因此,您可以使用gzip response的值扩展预定义格式的压缩率。

http {
log_format custom '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" "$gzip_ratio"';

server {
gzip on;
...
access_log /var/log/nginx/example.access.log custom;
...
}
}

对Nginx的配置进行所有更改后,请重新加载Nginx,然后运行tail命令以在事件日志的末尾显示gzip比率。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo tail -f /var/log/nginx/example.access.log

NGINX错误日志

如果NGINX突然停止运行或无法正常工作,它将在错误日志中记录所有事件。因此,使用错误日志,您可以找到更多详细信息。它还记录警告,但无法识别已发生的问题。

启用错误日志

error_log指令的以下语法:

error_log log_file log_level;

在以上语法中,第一个参数表示日志文件路径,第二个参数标识日志事件的安全级别。

我们在下面提到了一个示例,其中在服务器上下文中的error_log指令中执行覆盖。

http {
...
...
error_log /var/log/nginx/error_log;
server {
listen 80;
server_name example1.com;
error_log /var/log/nginx/example1.error_log warn;
...
}
server {
listen 80;
server_name example2.com;
error_log /var/log/nginx/example2.error_log debug;
...
}
}

当需要禁用错误日志时,请将日志文件的名称分配给/dev/null。error_log /dev/null;

Nginx错误日志的安全级别

您可以在错误日志中使用以下安全级别:

  • emerg:当系统不稳定时,用于紧急消息
  • alert:生成严重问题的警报消息。
  • crit:用于紧急情况下立即处理。
  • crit: Used for Critical issues for immediately dealing.
    error:处理页面时,可能会发生错误。
  • warn:用于警告消息
  • notice:您也可以忽略的通知日志。
  • info:有关信息,消息
  • debug:指向用于调试信息的错误位置。

总结

Nginx访问和错误日志对于记录某些活动非常有用。我们已经了解了如何在Linux系统上启用和查看这些类型的Nginx日志。这就是Nginx日志的全部内容。