北极寒流 » 网络资源 » linux下限制Apache日志access.log以及error.log文件大小 - 2014.09.02

linux下限制Apache日志access.log以及error.log文件大小

如果网站开启了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 服务

02

linux下限制Apache日志access.log以及error.log文件大小

分享到:

最受欢迎的