在本教程中,我们将向您展示如何在 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 官方网站.