如何查看Apache访问和错误日​​志? - 蝙蝠侠IT
蝙蝠侠IT
服务器之家,专注云服务器测评,针对不同类型的云计算服务器,进行详细的评估,给出科学的购买意见!
文章470 浏览722733

如何查看Apache访问和错误日​​志?

Apache是用于Linux(Linux,Apache,MySQL,PHP)的LAMP软件栈的一部分。Apache负责为浏览您网站的用户提供网页。

服务器授予访问您网站的访问权限,并保留访问日志。这些记录或日志文件可以是有关您的网站,使用情况和受众的有价值的信息来源。

在本教程中,您将学习如何查看Apache访问日志文件

先决条件

  • 运行Apache Web服务的Linux系统

  • 具有root(sudo)访问权限的用户帐户

  • 终端窗口(在Ubuntu中为Ctrl-Alt-T,在CentOS中为Alt-F2)

查看Apache访问日志

使用cPanel下载原始访问文件

如果使用cPanel登录到Web服务器,则可以通过图形界面下载Apache访问日志

1.查找标有“度量”的部分。

2.单击原始访问。如果启用了归档,则可以在页面底部下载原始Apache日志文件。它们将看起来像标准超链接,标记为您正在管理的网站。

单击超链接将提示您保存或打开文件。这些日志文件使用gzip压缩,因此,如果您不使用Linux系统,则可能需要解压缩工具。将文件保存到您喜欢的位置。

3.在操作系统中找到文件,然后右键单击>解压缩。 出现一个没有.gz扩展名的新文件。

4.右键单击>编辑以在您喜欢的文本编辑器中打开文件以查看内容。

使用终端命令显示本地访问日志

如果您正在托管Apache的计算机上,或者远程登录该计算机,则可以使用终端显示和过滤访问日志的内容。

默认情况下,您可以在以下路径中找到Apache访问日志文件:

  • /var/log/apache/access.log

  • /var/log/apache2/access.log

  • / etc / httpd / logs / access_log

使用GUI或带有cd命令的终端来浏览系统以查找日志的存储位置。

步骤1:显示访问日志的最后100个条目

在终端窗口中,输入以下内容:

sudo tail -100 /var/log/apache2/access.log

tail命令告诉机器读取文件的最后一部分,并且-100命令指示机器显示前100个条目。

最后一部分/var/log/apache2/access.log告诉计算机在哪里寻找日志文件。如果您的日志文件位于其他位置,请确保将您机器的路径替换为Apache日志文件。

步骤2:显示访问日志中的特定术语

有时,您只想在日志中显示特定类型的条目。您可以使用该grep命令按某些关键字过滤报告。

例如,在终端中输入以下内容:

sudo grep GET /var/log/apache2/access.log

像前面的命令一样,它查看/var/log/apache2/access.log文件以显示访问日志的内容。该grep命令告诉计算机仅显示带有GET请求的条目。

您也可以替换其他Apache命令。例如,如果要监视对.jpg图像的访问,则可以用.jpg代替GET。和以前一样,使用服务器日志文件的实际路径。

如何查看Apache错误日志

访问日志外,您还可以使用前面提到的终端命令查看错误日志

在终端中输入以下命令:

sudo tail -100 /var/log/apache2/error.log

如果您在其他位置找到了访问日志文件,则错误网站日志文件将位于同一位置。确保您键入正确的路径。

解释Apache中的访问日志

首次打开访问日志文件时,您可能会感到不知所措。

关于HTTP请求的信息很多,一些文本编辑器(和终端)会将文本包装到下一行。这会使阅读变得混乱,但是每条信息都以特定顺序显示。

表示访问日志文件格式的常规方法是:

"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""

这是用于日志每一行中最常见内容的代码。

每个%符号对应于日志中的一条信息:

  • %h –客户端的IP地址(访问请求的源)。

  • %l–下一个条目可能只是连字符-表示未检索到任何信息。这是identd在客户端上检查的结果。

  • %u–客户端userid,如果访问请求需要http认证。

  • %t –传入请求的时间戳。

  • \%r\–使用的请求行。这将告诉您http方法(GET,POST,HEAD等),所请求内容的路径以及所使用的http协议。

  • %>s –从服务器返回到客户端的状态代码。

  • %b –所请求资源的大小。

  • \"%{Referer}i\" –这将告诉您访问权限是来自单击另一个网站上的链接还是通过其他方式将客户端引至您的页面。

  • \"%{User-agent}i\" –告诉您有关发出请求的实体的信息,例如Web浏览器,操作系统,网站源(对于机器人而言)等。

只需跨过日志文件中的行进行读取,每个条目都可以如上进行解码。如果没有信息,日志将显示连字符。如果您正在使用预配置的服务器,则您的日志文件可能包含或多或少的信息。您还可以使用自定义日志模块创建自定义日志格式。

有关解码日志格式的更多信息,请参阅此页面。

如何在Apache日志文件中使用数据

Apache日志分析使您有机会评估客户端与您的网站进行交互的方式。

例如,您可能需要查看一个时间戳来确定每小时有多少访问请求到达以衡量流量模式。您可以查看用户代理,以了解特定用户是否正在登录网站以访问数据库或创建内容。您甚至可以跟踪失败的身份验证,以监视针对您系统的各种类型的网络安全攻击。

Apache的错误日志同样可以使用。通常,它仅用于查看正在生成多少404错误。当客户端请求缺少资源时,会发生404错误,这会在页面中的链接断开或其他错误时提醒您。但是,它也可以用于查找配置故障甚至关于潜在服务器问题的警告。

结论

本指南提供了提取数据以查看Apache访问日志文件的方法

access.log文件是用于测量客户端与服务器交互的方式一个很好的资源。error.log文件可以帮助您解决网站问题。