Apache限定日志文件的大小

菜到没谱 发布于 2013/06/06 08:56
阅读 1K+
收藏 5

【DevOps必读】产品经理与程序员之间如何破局?>>>

即使一个并不繁忙的服务器,其日志文件的信息量也会很大,一般每10000个请求,访问日志就会增加1MB或更多。这就有必要定期滚动日志文件。介绍下管道日志:
Apache httpd可以通过管道将访问记录和出错信息传递给另一个进程,而不是写入一个文件,由于无须对主服务器进行编程,这个功能显著地增强了日志的灵活性。只要用管道操作符"|"后面跟一个可执行文件名,就可以使这个程序从标准输入设备获得事件记录。Apache在启动时,会同时启动这个管道日志进程,并且在运行过程中,如果这个进程崩溃了,会重新启动这个进程。
 
管道日志的一种重要用途是,允许日志滚动而无须重新启动服务器。为此,服务器提供了一个简单的程序rotatelogs。每24小时滚动一次日志的例子如下:
 
CustomLog "|/usr/local/apache/bin/rotatelogs /var/log/access_log 86400" common
 
具体做法是 打开 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
 
这样就不用担心单个日志文件过大。
加载中
返回顶部
顶部