2012-05-29 94 views
2

我的服务器上只有32GB,并且日志快速占用了该空间。所以我想禁用日志。禁用apache2日志

我觉得我在哪里可以做到这一点,但由于我是一个完整的noob当涉及到服务器,我不想开始改变的事情,而不必确定他们不会崩溃的服务器。

在等/ 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 

和等/ apache2的/ conf.d /其他的虚拟主机的访问日志,我发现这一点:

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

我需要做什么来禁用日志?

在此先感谢

+2

添加日志旋转到系统 – Sergey

回答

5

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

你可以通过在它们前面添加一个'#'字符来注释它们。

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

国际海事组织,一个更好的解决方案 - 因为日志往往非常方便 - 是安装日志旋转为谢尔盖建议上面。在Debian中,运行以下命令:

sudo apt-get install logrotate 

logrotate的将在其默认的配置,分裂日常记录和压缩旧,节约一吨的磁盘空间,同时保留日志本身。

+0

感谢您的建议......我可以只运行上面的脚本,它会工作,还是我需要配置一些文件? – BlackMouse

+1

对于logrotate,只需运行上面的命令即可。 Debian软件包会自动使用默认设置配置logrotate,默认设置将每天循环并压缩旧日志。如果需要,你可以在'/ etc/logrotate.conf'中使用配置,我相信Debian软件包会将应用程序特定的logrotate配置放在'/ etc/logrotate.d'中。 – futureal

+0

太好了。谢谢 – BlackMouse

1

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

默认:错误日志日志/ error_log中(UNIX)错误日志记录/ error.log中(Windows和OS/2)

换句话说,这将是在Apache的地方安装根目录'logs'。

要禁用我认为你需要在不登录的支持(不知道甚至有可能),或管道错误日志到/ dev/null的重新编译:

错误日志 “|的/ dev/null的”

+0

[this](http:// serverfault。com/a/312456/121814)是答案 – machineaddict