推荐给好友 上一篇 | 下一篇

Apache和Resin产生大容量日志的解决办法


声明
  • 声明: 1、任何网站转载本站点内容时需注明来自JAVA-CN.COM,否则我们有权将根据《互联网著作权行政保护办法》追究其相应法律责任; 2、JAVA中文站社区刊登此文只为传递信息,并不表示赞同或者反对.
JAVA中文站社区门户*B+i/Sz?"n

昨天服务器上网站无故无法访问,重启Apache之后过一段时间又无法访问。后来无意间看到Apache的日志文件(access.log)竟然有7G多,赶紧删除之再重启Apache就OK了。但是总是这样也不是办法,如果时间一长忘记清空日志文件的话又会造成Apache死掉,另外之前Resin也产生过这样的问题。后来综合Google后的信息采用了如下的解决方法:JAVA中文站社区门户$B\4g l#w7W

agv`@iOGz1. Apache日志
l"c9x_,U9jZo5D?减少日志大小有两种方法,一种是修改日志记录级别,可以将默认的warn级别提升为error级别;

R(K%}\$EZ
  1. LogLevel error
JAVA中文站社区门户9u+wr sX0f3F

另外一种方法就是将日志文件按照每天创建一个文件的方式产生,这样就不会将所有的信息写入到一个文件。在Linux下可以将 httpd.conf 中 CustomLog logs/access.log common 修改为:JAVA中文站社区门户t T-iU6V M4JI

  1. CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/%Y_%m_%d.access.log 86400 480" common
JAVA中文站社区门户}z CN.@S3@n

Windows下没有rotatelogs这个工具,但是可以下载一个cronolog的软件,进入官方下载页面下载Win 32 version (ZIP file) 版本,将压缩包中的cronolog.exe解压缩到apache安装目录的bin目录下面,然后可以将CustomLog logs/access.log common 修改为:

rJ3v;Z3\%P Y'^
  1. CustomLog "|bin/cronolog.exe logs/access%Y%m%d.log" combined
JAVA中文站社区门户@:B ml3A[_b

这样可以达到同样的效果。需要说明的是再重启Apache之后原来的cronolog.exe进程不会自动关闭,这个应该是软件的bug。官方最新的更新日期是2002-01-24,而且最新的1.6.2 版本没有windows版本,所以要耐心等待了。

lC'M2ro hb4~ JAVA中文站社区门户+e#?PgO8^

2. Resin日志JAVA中文站社区门户sI xD {G#Kn~6@
前段时间提到过因为Resin日志巨大的问题而导致出错,过了这几天又发现jvm.log文件达到1G的容量了,照这样下去如果忘记清空日志的话又会导致程序出错。无意间在一篇文章中看到这样一句话:JAVA中文站社区门户%R:?d;W["z _.C

8\r jh&R M%D4j.?Resin启动时通过bin目录下的wrapper.pl文件进行控制,我们可以修改这个文件来加一些参数……

A_0wf|f}

5JFp8oO[ n后来经过测试这样的启动方式是在Linux系统下,Windows下面修改这个文件是没有作用的。记得以前我在 Resin 3.x 经验总结文章中提到在Windows下设置jvm内存的时候可以使用下面的命令:

$~UR[7B:g
  1. httpd.exe -Xmn100M -Xms500M -Xmx500M
JAVA中文站社区门户6Z[#BCL%h

是不是上面提到的wrapper.pl文件中的httpd参数都可以这样设置呢?后来在Resin官方的新闻组里面找到了这个配置参数:JAVA中文站社区门户&Sg5?N%xu p/z zO {

JAVA中文站社区门户u%[:j@p}#\%i[9V

You can use -jvm-log logfile as an option to httpd.exe

2~(F:ziN3J2M

8c~-lc%],R8?,@&e这样的话就可以设置Resin不产生jvm.log日志文件,因为里面的信息在web程序中通过log4j获得了。

p^,n,M]
  1. httpd -jvm-log NUL

-ne1Sb _#cIO~*N按照以下步骤重新按照Resin的NT服务:

Po3G,]}.[Z+g
  1. #1 停止Resin NT服务和Apache
  2. httpd -remove
  3. #2 安装Resin NT服务
  4. httpd -jvm-log NUL -install
  5. #3 重新启动Resin和Apache
原文出处: http://www.javatang.com/archives/2007/06/20/1513177.html
%F l"T4i-H Ku作者: Jet Mah from Java堂JAVA中文站社区门户? b!w$dPV
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!


TAG: Apache apache Resin resin 办法 日志 容量
 

评分:0

我来说两句

seccode