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

Aks*_*hah 200 logs syslog files

有谁知道文件访问日志的存储位置,因此我可以运行tail -f命令以查看谁正在访问特定文件。

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

Gil*_*il' 230

最终,这取决于您的 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.


Don*_*kby 45

如果您找不到带有Gilles 答案的日志,您还可以尝试其他几件事。

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

  • +1 for /var/log/httpd - 在我们的 CentOS 安装中引导我正确使用它 (3认同)

小智 29

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

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

/var/log/httpd/access_log
Run Code Online (Sandbox Code Playgroud)

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

/var/log/apache2/access.log
Run Code Online (Sandbox Code Playgroud)

FreeBSD Apache 访问日志文件位置 –

 /var/log/httpd-access.log
Run Code Online (Sandbox Code Playgroud)

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

# grep CustomLog /usr/local/etc/apache22/httpd.conf
# grep CustomLog /etc/apache2/apache2.conf
# grep CustomLog /etc/httpd/conf/httpd.conf
Run Code Online (Sandbox Code Playgroud)

示例输出:

# a CustomLog directive (see below).
#CustomLog "/var/log/httpd-access.log" common
CustomLog "/var/log/httpd-access.log" combined 
Run Code Online (Sandbox Code Playgroud)

  • 我认为最好的答案是:对于大多数 *nix 来说,详细、简洁和多平台。 (4认同)

Dmy*_*bak 8

在 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
$
Run Code Online (Sandbox Code Playgroud)

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

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

$ sudo tail -f /var/log/apache2/access.log
Run Code Online (Sandbox Code Playgroud)