Apache 文件访问日志存储在哪里?

Apache 文件访问日志存储在哪里?

有谁知道文件访问日志存储在哪里,所以我可以运行tail -f命令来查看谁正在访问特定文件。

我有 XAMPP,它是安装在我的计算机上的 Apache 服务器,它会自动记录访问。它存储在我的安装文件夹中。

答案1

最终,这取决于您的 Apache 配置。CustomLog在 Apache 配置中查找指令,请参阅手动的举些例子。

所有日志文件的典型位置是/var/log和 子目录。尝试/var/log/apache/access.log/var/log/apache2/access.log/var/log/httpd/access.log。如果日志不存在,请尝试运行locate access.log access_log.

答案2

如果您找不到日志吉尔斯的回答,您还可以尝试其他一些方法。

  • 在看/var/log/httpd
  • 运行sudo locate access.log以及sudo locate access_log。我的系统上的日志除了 root 之外不可见,并且该文件被调用access_log而不是access.log.

答案3

Apache 服务器将所有传入请求和所有已处理请求记录到日志文件中。访问日志的格式是高度可配置的。访问日志的位置和内容由 CustomLog 指令控制。默认 apache 访问日志文件位置:

RHEL / Red Hat / CentOS / Fedora Linux Apache 访问文件位置 –

/var/log/httpd/access_log

Debian / Ubuntu Linux Apache 访问日志文件位置 –

/var/log/apache2/access.log

FreeBSD Apache 访问日志文件位置 –

 /var/log/httpd-access.log

要查找确切的 apache 日志文件位置,可以使用 grep 命令:

# grep CustomLog /usr/local/etc/apache22/httpd.conf
# grep CustomLog /etc/apache2/apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf

示例输出:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 

答案4

在 Debian / Ubuntu Linux 上查找 Apache access.log 文件位置

在我的机器上/etc/apache2/apache2.conf指向${APACHE_LOG_DIR}环境变量而不是日志目录本身。

需要执行以下(附加)步骤才能找到实际的日志目录:

$ grep APACHE_LOG_DIR /etc/apache2/envvars
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
$

envvars包含 Apache 的默认环境变量。

因此,要查看访问日志,请使用

$ sudo tail -f /var/log/apache2/access.log

相关内容