如何在 Linux 上查看 Nginx 日志文件

在本教程中,我们将向您展示如何在 Linux 上查看 Nginx 日志文件。 对于那些不知道的人,在管理 Nginx Web 服务器时,您将执行的最频繁的任务之一是检查日志文件。 Nginx 日志记录可帮助您排除故障并快速解决您在 Nginx Web 服务器上可能遇到的任何问题。 日志记录是一个非常强大的工具,可以为您提供有关服务器所有操作的宝贵数据。 Nginx 将其事件记录写入两种类型的日志:访问日志和错误日志。 访问日志写入有关客户端请求的信息,错误日志写入有关服务器和应用程序问题的信息。

本文假设您至少具有 Linux 的基本知识,知道如何使用 shell,并且最重要的是,您在自己的 VPS 上托管您的站点。 安装非常简单,假设您在 root 帐户中运行,否则您可能需要添加 ‘sudo‘ 获取 root 权限的命令。 我将逐步向您展示 Linux 上的 Nginx Web 服务器日志文件。

在 Linux 上查看 Nginx 日志文件

步骤 1. Nginx 访问日志。

Nginx 在访问日志中记录所有访问您站点的访问者的活动。 在这里您可以找到哪些文件被访问、NGINX 如何响应请求、客户端使用的浏览器、客户端的 IP 地址等等。

默认情况下,在大多数 Linux 发行版上,例如 Ubuntu、AlmaLinux 和基于 Debian 的,访问和错误日​​志位于 /var/log/nginx 目录。

  • 配置 Nginx 访问日志。

默认情况下应启用访问日志。 如果不是,您可以使用以下命令在 Nginx 配置文件中手动启用它 access_log 指示:

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

如果要自定义访问日志的输出,可以使用 log_format 指示:

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

上面例子中使用的变量配置:

  • $remote_addr: 客户端的IP地址
  • $remote_user:有关用户发出请求的信息
  • $time_local: 服务器本地日期和时间
  • $request: 实际要求
  • $status: 响应码
  • $body_bytes_sent: 响应的大小(以字节为单位)
  • $http_referer:HTTP引用的IP地址(原始来源)
  • $http_user_agent: 详细的浏览器信息

之后,重新加载 Nginx Web 服务器以应用新设置。 查看域的访问日志 your-domain.com 在文件中 /var/log/nginx/your-domain.com.access.log,使用以下 tail 终端中的命令:

tail -f /var/log/nginx/your-domain.com.access.log

步骤 2. Nginx 错误日志。

每当 Nginx 突然停止运行或遇到错误时,它都会将事件数据存储在错误日志中。 这在调试时特别有用,因为它可以节省时间并使故障排除更容易和高效。

  • 配置 Nginx 错误日志。

默认情况下应启用错误日志。 如果不是,您可以使用以下命令在 Nginx 配置文件中手动启用它 error_log 指示:

error_log /var/log/nginx/error.log;

以下是按严重程度列出的级别(从低到高):

  • debug :用于调试的消息(最低)
  • info : 信息性消息
  • notice : 通知
  • warn : 警告
  • error :处理请求时出错(不需要立即操作)
  • crit :需要立即采取行动的严重错误
  • alert : 需要立即采取行动的错误
  • emerg : 系统不可用(最高)

与访问日志的情况一样,您可以将错误记录到多个文件中。 请注意,必须手动创建该文件,然后才能登录:

error_log /var/log/nginx/error_log warn;

例如查看域的访问日志 your-domain.com 在文件中 /var/log/nginx/your-domain.com.error.log,使用以下 tail 终端中的命令:

tail -f /var/log/nginx/your-domain.com.error.log

恭喜! 您已经成功监控到 Nginx 访问日志和 Nginx 错误日志。 有关的更多信息 Apache 访问日志和 Apache 错误日志,请检查 Nginx 官方网站.