Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10391
  • 博文数量: 3
  • 博客积分: 76
  • 博客等级: 民兵
  • 技术积分: 35
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-06 22:29
文章分类
文章存档

2012年(3)

我的朋友
最近访客

分类: LINUX

2012-03-29 20:00:26

原文出处: 
作者: Jet Mah from 
声明: 可以非商业性任意转载, 转载时请务必以超链接形式标明文章原始出处、作者信息及此声明!

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

1. Apache日志
减少日志大小有两种方法,一种是修改日志记录级别,可以将默认的warn级别提升为error级别;

  1. LogLevel error

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

  1. CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/%Y_%m_%d.access.log 86400 480" common

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

  1. CustomLog "|bin/cronolog.exe logs/access%Y%m%d.log" combined

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

2. Resin日志
前段时间提到过因为Resin日志巨大的问题而导致出错,过了这几天又发现jvm.log文件达到1G的容量了,照这样下去如果忘记清空日志的话又会导致程序出错。无意间在看到这样一句话:

Resin启动时通过bin目录下的wrapper.pl文件进行控制,我们可以修改这个文件来加一些参数……

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

  1. httpd.exe -Xmn100M -Xms500M -Xmx500M

是不是上面提到的wrapper.pl文件中的httpd参数都可以这样设置呢?后来在Resin官方的新闻组里面找到了这个配置参数:

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

这样的话就可以设置Resin不产生jvm.log日志文件,因为里面的信息在web程序中通过log4j获得了。

  1. httpd -jvm-log NUL

按照以下步骤重新按照Resin的NT服务:

  1. #1 停止Resin NT服务和Apache
  2. httpd -remove
  3. #2 安装Resin NT服务
  4. httpd -jvm-log NUL -install
  5. #3 重新启动Resin和Apache

参考资料:


原文出处:

阅读(1572) | 评论(0) | 转发(0) |
0

上一篇:SSHSecureShellClient-3.2.9设置密钥登录

下一篇:没有了

给主人留下些什么吧!~~