禁用apache2日志

时间:2012-05-29 07:11:56

标签: php apache apache2 debian

我的服务器上只有32GB,日志很快占用了这个空间。所以我想禁用日志。

我想我找到了它的位置,但由于我是服务器上的完整菜鸟,我不想在不确定它们不会使服务器崩溃的情况下开始改变事物。

在etc / apache2 / apache2.conf中,我发现了这个:

    #
# The following directives define some format nicknames for use with
# a CustomLog directive (see below).
# If you are behind a reverse proxy, you might want to change %h into %{X-Forwarded-For}i
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

在etc / apache2 / conf.d / other-vhost-access-log中,我发现了这个:

# Define an access log for VirtualHosts that don't define their own logfile
CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined

禁用日志需要做什么?

提前致谢

2 个答案:

答案 0 :(得分:5)

如果您确实要禁用日志,则必须在Apache配置文件中注释掉任何ErrorLogCustomLog指令。在Debian上,这些将位于/etc/apache2/httpd.conf/etc/apache2/apache2.conf(基本配置),然后是/etc/apache2/sites-available/*(特定的虚拟主机配置)。

你可以在它们前面添加一个'#'字符来评论它们。

完成更改后,请运行/etc/init.d/apache2 restart以使更改生效。

IMO,一个更好的解决方案 - 因为日志通常非常方便 - 是按照上面提到的那样安装日志旋转。在Debian中,运行:

 sudo apt-get install logrotate

logrotate将在其默认配置中每天拆分日志并压缩旧日志,从而节省大量磁盘空间,同时保留日志本身。

答案 1 :(得分:1)

这里接受的答案是错误的。注释掉该行不会禁用错误日志,它只是将其恢复为apache2默认值。来自apache2 ErrorLog documentation

  

默认值:ErrorLog logs / error_log(Unix)ErrorLog logs / error.log(Windows和OS / 2)

换句话说,这将出现在apache安装根目录' logs' 。目录

要禁用我认为您需要重新编译而不记录支持(不确定是否可能),或将ErrorLog传递给/ dev / null:

  

ErrorLog" | / dev / null"