您的位置:首页 > 运维架构 > Apache

Linux之Apache下日志文件error.log过大的解决方法

2017-09-25 19:31 726 查看
如果网站开启了apache日志文件以及错误日志功能,那么很可能apache日志文件access.log在一段时间内就会很庞大至上百兆甚至几十个G,尤其大访问量的网站更是如此。error_log错误日志文件也会产生这样的情况,这样一来我们在分析apache日志的时候就会消耗很大的内存,那么有没有方法限制一下apache日志的大小呢?答案是肯定的.

我们通常的做法是在{$apache}/conf/httpd.conf中设置Apache的参数,然而我们并没有发现可以设置日志文件大小的配置指令,通过参考http://httpd.apache.org/docs/2.0/programs/rotatelogs.html,可以用apache 自己的程序 rotatelogs(位于 {$apache}/bin/目录下),来限制日志文件的大小.

在 Linux 下的设置例子如下:

打开 Apache 的 httpd.conf配置文件并找到下面两条配置

ErrorLog logs/error.log

CustomLog logs/access.log common

修改为下面的代码(路径请根据你的服务器设置修改)

# 限制错误日志文件为 1M

ErrorLog "|/server/apache/bin/rotatelogs /server/apache/logs/error-%Y-%m-%d.log 1M"

ErrorLog "|/www/wdlinux/apache/bin/rotatelogs /www/wdlinux/apache/logs/error-%Y-%m-%d.log 1M"  (wdcp面板适用)

# 每天生成一个错误日志文件

ErrorLog "|/server/apache/bin/rotatelogs /server/apache/logs/error-%Y-%m-%d.log 86400"

# 限制访问日志文件为 1M

CustomLog "|/server/apache/bin/rotatelogs  /server/apache/logs/access-%Y-%m-%d.log 1M" common

CustomLog "|/www/wdlinux/apache/bin/rotatelogs /www/wdlinux/apache/logs/access-%Y-%m-%d.log 1M" common (wdcp面板适用)

# 每天生成一个访问日志文件

CustomLog "|/server/apache/bin/rotatelogs  /server/apache/logs/access-%Y-%m-%d.log 86400" common

在 Windows 主机设置下的设置例子如下(路径请根据你的服务器设置修改):

第一步:删除 Apache2/logs/目录下的 error.log、access.log文件

第二步:打开 Apache 的 httpd.conf配置文件并找到下面两条配置

ErrorLog logs/error.log

CustomLog logs/access.log common

直接注释掉,换成下面的配置文件。

# 限制错误日志文件为 1M

ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 1M”

# 每天生成一个错误日志文件

#ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400″

# 限制访问日志文件为 1M

CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 1M” common

# 每天生成一个访问日志文件

#CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400″ common

最后重启Apache 服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: