Linux有问必答:Linux上Apache错误日志的位置在哪里?

错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 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 配置文件中可以找到以下行:


  1. ErrorLog ${APACHE_LOG_DIR}/error.log

在本例中,该位置使用 APACHELOGDIR 环境变量进行配置,该变量在 /etc/apache2/envvars 中已被定义。


  1. export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

在实际情况中, ErrorLog 可能会指向你 Linux 系统中任意路径。

使用虚拟主机自定义的错误日志

如果在 Apache Web 服务器中使用了虚拟主机, ErrorLog 指令可能会在虚拟主机容器内指定,在这种情况下,上面所说的系统范围的错误日志位置将被忽略。

启用了虚拟主机后,各个虚拟主机可以定义其自身的自定义错误日志位置。要找出某个特定虚拟主机的错误日志位置,你可以打开 /etc/apache2/sites-enabled/.conf,然后查找 ErrorLog 指令,该指令会显示站点指定的错误日志文件。

CentOS,Fedora或RHEL上的Apache错误日志位置

默认的错误日志

在基于 Red Hat 的Linux中,系统范围的 Apache 错误日志文件默认被放置在/var/log/httpd/error_log。该默认位置可以通过修改 Apache 配置文件进行自定义。

自定义的错误日志

要找出 Apache 错误日志的自定义位置,请用文本编辑器打开 /etc/httpd/conf/httpd.conf,然后查找 ServerRoot,该参数显示了 Apache Web 服务器目录树的顶层,日志文件和配置都位于该目录树中。例如:


  1. ServerRoot "/etc/httpd"

现在,查找 ErrorLog 开头的行,该行指出了 Apache Web 服务器将错误日志写到了哪里去。注意,指定的位置是 ServerRoot 值的相对位置。例如:


  1. ErrorLog "log/error_log"

结合上面的两个指令,可以获得完整的错误日志路径,默认情况下该路径就是 /etc/httpd/logs/errorlog。在全新安装的Apache中,这是一个到 /var/log/httpd/errorlog 的符号链接。

在实际情况中, ErrorLog 可能指向你 Linux 系统中的任意位置。

使用虚拟主机自定义的错误日志

如果你启用了虚拟主机,你可以通过检查 /etc/httpd/conf/httpd.conf(或其它任何定义了虚拟主机的文件)来找到各个虚拟主机的错误日志位置。在独立的虚拟主机部分查找 ErrorLog。如,在下面的虚拟主机部分,错误日志的位置是 /var/www/xmodulo.com/logs/error_log。


  1. <VirtualHost *:80>
  2. ServerAdmin webmaster@xmodulo.com
  3. DocumentRoot /var/www/xmodulo.com/public_html
  4. ServerName www.xmodulo.com
  5. ServerAlias xmodulo.com
  6. ErrorLog /var/www/xmodulo.com/logs/error_log
  7. CustomLog /var/www/xmodulo.com/logs/access_log
  8. <VirtualHost>


原文发布时间为:2015-06-20

本文来自合作伙伴“Linux中国”

时间: 2024-10-27 19:15:58

Linux有问必答:Linux上Apache错误日志的位置在哪里?的相关文章

Linux上Apache错误日志存放目录及自定义

我要解决 Linux 系统上的 Apache Web 服务器的错误,Apache的错误日志文件找不到,请问是放在的哪个目录呢? Apache日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不同,其错误/访问日志可能放在你系统中不同位置. 本文可以帮助你找到Linux上的Apache错误日志. Debian,Ubuntu或Linux Mint上的Apache错误日

在Linux系统上查看Apache服务器的错误日志_Linux

错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不同,其错误/访问日志可能放在你系统中不同位置. 本文可以帮助你找到Linux上的Apache错误日志.Debian,Ubuntu或Linux Mint上的Apache错误日志位置 默认的错误日志 在基于Debian的Linux上,系统范围的Apache错误日志默认位置是/var/log/apache

php错误日志简单配置方法_php技巧

本文实例讲述了php配置错误日志的方法.分享给大家供大家参考,具体如下: php.ini: ; 错误日志 log_errors = On ; 显示错误 display_errors = Off ; 日志路径 error_log = "/usr/local/lnmp/php/var/log/error_log" ; 错误等级 error_reporting = E_ALL&~E_NOTICE php-fpm.conf: [global] ; php-fpm pid文件 pid =

Sql Server 代理错误日志知多少

  一 概述 默认情况下,SQL Server 代理创建错误日志来记录警告和错误.日志中显示下列警告和错误: 警告消息,提供有关潜在问题的信息,例如"作业 在执行时被删除". 错误消息,通常需要系统管理员干预,例如"无法启动邮件会话".可以通过 net send 将错误消息发送给特定用户或计算机. 默认情况下,执行跟踪消息不写入 SQL Server代理日志错误,因为它们会将日志填满.如果错误日志已满,会降低选择和分析更严重的错误的能力.因为日志会增加服务器的处理负

MySQL错误日志总结

MySQL错误日志是记录MySQL 运行过程中较为严重的警告和错误信息,以及MySQL每次启动和关闭的详细信息.错误日志的命名通常为hostname.err.其中,hostname表示服务器主机名. The error log contains information indicating when mysqld was started and stopped and also any critical errors that occur while the server is running.

Linux有问必答:如何在Apache网站服务器上关闭服务器签名

Linux有问必答:如何在Apache网站服务器上关闭服务器签名 问题:每当Apache2网站服务器返回错误页时(如,404 页面无法找到,403 禁止访问页面),它会在页面底部显示网站服务器签名(如,Apache版本号和操作系统信息).同时,当Apache2网站服务器为PHP页面服务时,它也会显示PHP的版本信息.我如何在Apache2网站服务器上关闭这些网站服务器签名呢? 透露网站服务器带有服务器/PHP版本信息的签名会带来安全隐患,因为你基本上将你系统上的已知漏洞告诉给了攻击者.因此,作为

Linux有问必答:如何在CentOS上安装phpMyAdmin

Linux有问必答:如何在CentOS上安装phpMyAdmin 问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAdmin是一款以PHP为基础,基于Web的MySQL/MariaDB数据库管理工具.虽然已经存在着一些诸如Adminer的轻量级数据库管理工具, 但是phpMyAdmin还是更加广泛应用于网站管理员之中来进行各种MySQL/MariaD

Linux有问必答:怎样解决“XXX is not in the sudoers file”错误

Linux有问必答:怎样解决"XXX is not in the sudoers file"错误 问题:我想在我的Linux系统上使用sudo来运行一些特权命令,然而当我试图这么做时,我却得到了"[我的用户名] is not in the sudoers file. This incident will be reported."的错误信息.我该怎么处理这种sudo错误呢? sudo是一个允许特定的用户组用另一个用户(典型的是root)的特权来运行一个命令.sudo

Linux 有问必答:在 Linux 上如何通过命令行来更改日期和时间

Linux 有问必答:在 Linux 上如何通过命令行来更改日期和时间 问题: 在 Linux 上, 我怎样通过命令行来改变日期和时间? 在 Linux 系统中保持日期和时间的同步是每一个 Linux 用户和系统管理员的重要责任. 很多程序都依靠精确的时间信息得以正常工作. 另外, 不精确的日期和时间会使得日志文件中的时间戳变得毫无意义, 减弱了它们在系统检查和检修中的作用. 对于生产系统来说, 精确的日期和时间甚至更为重要. 例如, 在零售公司中, 所有产品必须时刻准确地计数(并储存在数据库服