agangliu0400 发表于 2018-11-21 14:09:46

apache日志文件太大的问题

  管理apache服务器有些年头,虽然最近几年被nginx抢了不少风头,但我依然钟爱apache。

  

  喜欢它强劲的并发处理能力,以及forker与worker模式间自由选择的快感,哈哈。

  

  熟悉linux下apache运维的朋友,多少都会遇到过apache日志文件太大的问题,网站刚上线时不会在意到这个问题,因为流量小,自然error.log与access.log文件内容也就少,文件容量不大,因此,配置时也不会考虑apache日志维护的什么策略啥的。

  

  当网站流量上涨到一定程序时,单个的error.log或access.log将无法应对日益增长的日志文件,以及日志分析的需求了。

  

  思路就是要对文件限制大小,然后进行回滚,也就是常说的apache日志分割与轮循了。

  

  如何正确解决这个问题呢,网上现成的文章很多,这里整理几篇,留作备忘。



[*]  1、正确解决apache日志文件太大问题
[*]  2、解决apache日志文件太大问题(按天分割apache日志)
[*]  3、apache
error.log日志文件太大怎么办?
[*]  4、apache
access.log日志文件太大怎么办
[*]  5、apache日志文件太大怎么用日志滚动解决?
[*]  6、apache日志文件太大怎么做日志轮循?

  笔者参考以上资料,完成了apache日志分件的回滚操作,每个日志文件限定为指定的大小,然后按天生成日志文件,观察了一段时间,效果不错。

  

  下面附上我的apache日志回滚的配置内容:

  默认配置:


CustomLog "logs/access.log" common
ErrorLog "logs/error.log"
  

  修改后的配置:


CustomLog "|bin/rotatelogs /var/logs/logfile 86400" common
CustomLog "|bin/rotatelogs /var/logs/logfile 5M" common
ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M"
  

  例2:


# 限制错误日志文件为 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日志文件增长太快,日志文件太大的问题,不妨一试。

  方法很简单,效果很明显。




页: [1]
查看完整版本: apache日志文件太大的问题