Linux 上的 Apache 错误日志位置是什么
问题:我正在尝试解决 Linux 系统上的 Apache Web 服务器错误。 Apache 错误日志文件位于 [插入您的 Linux 发行版] 上的什么位置?
错误日志和访问日志文件对于系统管理员来说是有用的信息,例如用于排除 Web 服务器故障、保护其免受各种恶意活动的影响,或者只是运行各种分析来监控 HTTP 服务器。根据您的 Web 服务器设置,其错误/访问日志可能位于系统的不同位置。
这篇文章可能会帮助您在 Linux 上查找 Apache 错误日志位置。
Debian、Ubuntu 或 Linux Mint 上的 Apache 错误日志位置
默认错误日志
在基于 Debian 的 Linux 上,Apache 错误日志的系统范围默认位置是 /var/log/apache2/error.log
。可以通过编辑 Apache 配置文件来自定义默认位置。
自定义错误日志
要查找自定义错误日志位置,请使用文本编辑器打开 /etc/apache2/apache2.conf
,然后查找以 ErrorLog
开头的行。此行指定 Apache 错误日志文件的自定义位置。例如,未修改的 Apache 配置文件有以下行:
ErrorLog ${APACHE_LOG_DIR}/error.log
在本例中,该位置是使用 APACHE_LOG_DIR
环境变量配置的,该变量在 /etc/apache2/envvars
中定义。
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
实际上,ErrorLog
可能指向 Linux 系统上的任意路径。
使用 VirtualHost 自定义错误日志
如果在 Apache Web 服务器中使用 VirtualHost,则可以在 VirtualHost 容器中指定 ErrorLog
指令,在这种情况下,上述系统范围的错误日志位置将被忽略。
启用 VirtualHost 后,每个 VirtualHost 都可以定义自己的自定义错误日志位置。要找出特定 VirtualHost 的错误日志位置,您可以打开 /etc/apache2/sites-enabled/
,然后查找 ErrorLog
指令,该指令将显示特定于站点的错误日志文件。
CentOS、Fedora 或 RHEL 上的 Apache 错误日志位置
默认错误日志
在基于 Red Hat 的 Linux 上,系统范围的 Apache 错误日志文件默认放置在 /var/log/httpd/error_log
中。可以通过编辑 Apache 配置文件来自定义此默认位置。
自定义错误日志
要找出 Apache 错误日志的自定义位置,请使用文本编辑器打开 /etc/httpd/conf/httpd.conf
,然后查找 ServerRoot
,它显示 Apache 服务器目录树的顶部,日志文件和配置位于该目录下。例如:
ServerRoot "/etc/httpd"
现在查找以 ErrorLog
开头的行,它指示 Apache Web 服务器正在写入其错误日志的位置。请注意,指定的位置是相对于 ServerRoot
值的。例如:
ErrorLog "log/error_log"
结合以上两条指令即可获取错误日志的完整路径,默认为/etc/httpd/logs/error_log
。这是新安装的 Apache 的 /var/log/httpd/error_log
的符号链接。
实际上,ErrorLog
可能指向 Linux 系统上的任意位置。
使用 VirtualHost 自定义错误日志
如果启用了 VirtualHost,则可以通过检查 /etc/httpd/conf/httpd.conf(或任何定义 VirtualHost 的文件)来查找各个 VirtualHost 的错误日志位置。在各个 VirtualHost 部分中查找 ErrorLog
。例如,在以下 VirtualHost 部分中,在 /var/www/linux教程/logs/error_log
中找到错误日志。
<VirtualHost *:80>
ServerAdmin [email
DocumentRoot /var/www/linux教程/public_html
ServerName www.linux教程
ServerAlias linux教程
ErrorLog /var/www/linux教程/logs/error_log
CustomLog /var/www/linux教程/logs/access_log
<VirtualHost>