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


180

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

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


在什么发行版上,或通过什么托管提供商?日志通常在之下/var/log,但是某些系统在其他地方有它们。
吉尔斯

Answers:


206

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


40

如果您找不到与Gilles的答案相对应的日志,则可以尝试其他几种方法。

  • 看看/var/log/httpd
  • 运行sudo locate access.log得好sudo locate access_log。除root以外,我的系统上的所有日志均不可见,并且该文件被称为access_log而不是access.log

3
+1的/ var /日志/ httpd的-使我对想在我们的CentOS安装
查威尔伯

24

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
我认为最好的答案是:对于大多数* nix而言,详细,简洁,多平台。
Sopalajo de Arrierez,2016年

整个答案都从以下页面复制:cyberciti.biz/faq/apache-logs
Gert Grenander,

5

在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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.