php errors.log linux,linux下Apache配置日志文件,防止ErrorLog CustomLog日志过大

问题描述:

网站磁盘空间爆满,检查apache服务器,发现是apache的访问日志和错误日志过大导致的。

问题原由:

Apache默认安装下,志记录只有一个文件。如果我们在配置虚拟主机的时候,一般可能会配置ErrorLog CustomLog 记录。如果apache开启了日志文件以及错误日志功能,那么很可能apache的访问日志文件access.log和错误日志会在一段时间内变成一个几百兆甚至几G的文件,尤其大访问量的网站更是如此。如果文件过大首先会导致运维人员不好查看日志,甚至文件过大,会导致磁盘空间爆满,影响服务器的正常运行。

解决办法:

通过配置httpd.conf文件,我们可以实现按天记录日志或者按文件大小来记录日志。

在 Linux 下的设置例子如下,打开httpd.conf文件或者虚拟主机配置文件:

找到ErrorLog CustomLog 配置的地方(此处以虚拟主机的config文件举例)

ErrorLog logs/error.log

CustomLog logs/access.log common

修改为下面的代码

DocumentRoot /home/wwwroot/www.jsphp.net

ServerName jsphp.net

ServerAlias www.jsphp.net

DirectoryIndex index.php index.html

Options FollowSymLinks

AllowOverride all

Order allow,deny

Allow from all

ErrorLog "|/usr/apache/bin/rotatelogs /home/wwwlogs/wwwjsphpnet/error-%Y-%m-%d.log 86400"

CustomLog "|/usr/apache/bin/rotatelogs /home/wwwlogs/wwwjsphpnet/access-%Y-%m-%d.log 86400" common

请看这2行代码

ErrorLog "|/usr/apache/bin/rotatelogs /home/wwwlogs/wwwjsphpnet/error-%Y-%m-%d.log 86400"

CustomLog "|/usr/apache/bin/rotatelogs  /home/wwwlogs/wwwjsphpnet/access-%Y-%m-%d.log 86400"

上面二行代码的意思是每天生成一个 errorLog CustomLog 日志文件。

1、注意,因为我服务器上放了很多个网站,所以我加了个目录 wwwjsphpnet 。设置的时候,必须保证有此目录,apache不会自动新建目录所以,必须要保证目录存在,否则日志不会生成的。

2、上文中的86400为一天的秒数

3、rotatelogs  是apache服务器的一个服务,用来限制日志文件大小的。rotatelogs的位置一般在(apache安装目录/bin/目录下),配置时需要设置为你自己的路径。

4、重启Apache服务器。

补充1:

除了按天生成日志,我们还可以按文件大小来生成日志

# 限制错误日志文件为 10M

ErrorLog "|/usr/apache/bin/rotatelogs /home/wwwlogs/wwwjsphpnet/error-%Y-%m-%d.log 10M"

# 限制访问日志文件为 10M

CustomLog "|/usr/apache/bin/rotatelogs  /home/wwwlogs/wwwjsphpnet/access-%Y-%m-%d.log 10M" common

Windows 主机的设置方法:

在 Windows 主机设置下的设置例子如下(路径请根据你的服务器设置修改):

第一步:删除 Apache2/logs/目录下的 error.log、access.log文件

第二步:打开 Apache 的 httpd.conf配置文件并找到下面两条配置

ErrorLog logs/error.log

CustomLog logs/access.log common

直接注释掉,换成下面的配置文件。

# 限制错误日志文件为 10M

ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 10M”

# 每天生成一个错误日志文件

#ErrorLog “|bin/rotatelogs.exe -l logs/error-%Y-%m-%d.log 86400″

# 限制访问日志文件为 10M

CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 10M” common# 每天生成一个访问日志文件

#CustomLog “|bin/rotatelogs.exe -l logs/access-%Y-%m-%d.log 86400″ common

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值