阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

233次阅读
没有评论

共计 2834 个字符,预计需要花费 8 分钟才能阅读完成。

最近有朋友问我 Linux 上 Apache 错误日志找不到,应该如何找,我就剩这个机会,把 Apache 错误日志整理一下,然后告诉新手如何自定义错误日志目录。

我要解决 Linux 系统上的 Apache Web 服务器的错误,Apache 的错误日志文件找不到,请问是放在的哪个目录呢?

Apache 日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器。根据你 Web 服务器配置的不同,其错误 / 访问日志可能放在你系统中不同位置。

本文可以帮助你找到 Linux 上的 Apache 错误日志。

Debian,Ubuntu 或 Linux Mint 上的 Apache 错误日志位置

默认的错误日志

在基于 Debian 的 Linux 上,系统范围的 Apache 错误日志默认位置是 /var/log/apache2/error.log。默认位置可以通过编辑 Apache 的配置文件进行修改。

自定义的错误日志

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

要找到自定义的错误日志位置,请用文本编辑器打开 /etc/apache2/apache2.conf,然后查找以 ErrorLog 开头的行,该行指定了自定义的 Apache 错误日志文件的位置。例如,在未经修改的 Apache 配置文件中可以找到以下行:

    ErrorLog ${APACHE_LOG_DIR}/error.log

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

    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 服务器目录树的顶层,日志文件和配置都位于该目录树中。例如:

    ServerRoot “/etc/httpd”

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

    ErrorLog “log/error_log”

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

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

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

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

<VirtualHost *:80>
    ServerAdmin webmaster@linuxidc.com
    DocumentRoot /var/www/linuxidc.com/public_html
    ServerName www.linuxidc.com
    ServerAlias linuxidc.com
    ErrorLog /var/www/linuxidc.com/logs/error_log
    CustomLog /var/www/linuxidc.com/logs/access_log
<VirtualHost>

windows 系统下 apache 日志设置教程

注:Apache 安装目录改成你自己的

apache 默认日志在安装目录下的 logs 目录中,例如:D:\Apache Software Foundation\Apache2.2\logs

有时候需要设置到其他目录,其实很多时候都应该设置到其他目录。

配置文件是在安装目录下的 conf 目录下的 httpd.conf 文件,默认配置:

ErrorLog “logs/error.log”

LogFormat “%h %l %u %t \”%r\” %>s %b” commonCustomLog “logs/access.log” common

如果直接修改路径,则日期设置会出问题,在网上找到的方法如下:

ErrorLog “|bin/rotatelogs.exe E:/log/apache/error-%y-%m-%d.log 86400″LogFormat “%h %l %u %t \”%r\” %>s %b” commonCustomLog “|bin/rotatelogs.exe E:/log/apache/access.log” common

如果是有多个站点,需要针对多个站点设置,在 VirtualHost 里面设置

<VirtualHost *:80>

    ProxyPreserveHost On    ServerAdmin admin    ServerName www.linuxidc.com

    ProxyPass / http://www.linuxidc.com:8082/    ProxyPassReverse / http://www.linuxidc.com:8082/    SetEnv force-proxy-request-1.0.1    SetEnv proxy-nokeepalive 1

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combinedCustomLog “|bin/rotatelogs.exe E:/log/apache/weba/access-%y-%m-%d.log 86400” combined

</VirtualHost>

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-01/139440.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2834字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中