为什么不注释掉httpd.conf中的ErrorLog停止logging错误?

我有一个CentOS Linux的VPS账户。

这两个文件每24小时填满20 GB硬盘:

这个统计文件:

/home/httpd/tanguay.info/stats/tanguay.info-error_log 

以及这个目录中的一个文件,当它出现的时候,似乎有不同的名字,但是增长到5+ GB:

 /home/admin/__processed_stats 

我现在要做的就是把apache的状态logging关掉,这样我的硬盘就不会填满我的邮件,ftp等了。

所以在文件中:

 /etc/httpd/conf/httpd.conf 

我注意到了这一行:

 #ErrorLog logs/error_log 

然后,我删除了上面的两个巨大的文件,重新启动虚拟机,并看到第一个文件(tanguay.info-error_log)已被重新创build,并再次成长。

那么我在哪里closuresApache的日志?

(或者也许Apache甚至不使用这个httpd.conf文件作为它的configuration文件,那么保存在那里?)

有两件事情login到错误日志中; 来自Apache本身的错误以及来自任何CGI或PHP应用程序的stderr副本。 您可以使用LogLevel选项来减less来自Apache的错误,但这通常只占logging的很less部分。 大多是404s。 您可能会发现大部分是由您的应用程序生成的。

显而易见的事情是看看错误日志中的内容并解决问题。 如果它每天给你几千兆字节的日志,它会试图告诉你一些事情。 也许更新您的答案与日志片段的链接。 这应该让我们给你更详细的回应。

(顺便说一下,你只需要重新加载apache就可以接受任何configuration的改变,没有理由重启整个服务器)

真的,你需要做大卫说的话 ,如果你得到这么多的日志,那显然是一个问题。 但是,如果您想要转储所有日志,则可以在任何UNIX计算机上将错误日志文件符号链接到/ dev / null,将其有效地转储到UNIX黑洞中。

 ln -s /dev/null /path/to/error.log 

在Centos VPS上,如果你使用的是httpd rpm,那么它肯定应该从/etc/httpd/conf/httpd.conf中加载它的configuration,但是它可能在你的ErrorLog行之后包含其他文件或指令,检查httpd -S以确保稍后没有额外的虚拟主机加载configuration。

该日志( tanguay.info-error_log )显然不是由该configuration行( logs/error_log )生成的。 httpd.conf中是否有另一个ErrorLog,/etc/httpd/conf.d中的东西,还是其他地方的东西? httpd -S可以帮忙。