2

我的服务器上只有 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

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

提前致谢

4

2 回答 2

5

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

您可以通过在它们前面添加一个“#”字符来将它们注释掉。

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

IMO,一个更好的解决方案 - 因为日志通常非常方便 - 是按照上面的 Sergey 建议安装日志轮换。在 Debian 中,运行以下命令:

 sudo apt-get install logrotate

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

于 2012-05-29T07:20:53.890 回答
2

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

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

换句话说,这将位于 apache 安装根“logs”目录中的某个位置。

要禁用,我认为您需要在不支持日志记录的情况下重新编译(甚至不确定是否可能),或者将 ErrorLog 传输到 /dev/null:

错误日志“|/dev/null”

于 2015-02-06T10:21:51.570 回答