最近发现博客访问速度极其的慢,查找原因,发现 VPS 的内存资源占用达到了 95%左右了,top 一下,发现基本都是 httpd 进程搞的,不用说,apache 的原因。查看了一下 error_log 没发现有什么异常,但是想查看 access_log 的时候发现,access_log 已经有 2G 多了,会不会是因为访问日志太大,导致每次访问网站的时候 apache 记录日志时候读写这个大文件造成的?

于是我就试着分割 apache 的 access_log。apache 有一个 rotatelogs 的功能(rotatelogs – Piped logging program to rotate Apache logs),可以按照配置来处理日志文件。(Nginx 的日志分割请参考《Nginx 虚拟日志配置相关-Nginx 学习笔记(三)》)

于是我对 apache 做了如下的配置:

CustomLog "|/usr/local/apache/bin/rotatelogs /www/web_logs/access_%Y%m%d_log 86400 480" common

上面这条配置命令就是每天生成 access_20130207_log 这种格式的日志文件,这里的 480 其实是一个偏移量,具体可以查看官方的介绍。

重启一下 apache,打开博客,速度立马快起来了!!

转载请注明: 转载自Ryan 是菜鸟 | LNMP 技术栈笔记

如果觉得本篇文章对您十分有益,何不 打赏一下

谢谢打赏

本文链接地址: rotatelogs 分割 apache 日志文件

知识共享许可协议 本作品采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可