CentOS下Apache error.log文件太大的处理
2016-07-23 20:13:15 1820次
清除error.log、access.log并限制Apache日志文件大小的方法

今天有台linux服务器Mysql突然起不来了,检查报错发现是磁盘满了,可用空间为0KB,进去后发现Apache的错误日志error.log非常的大,造成D盘被爆满。

在网上搜了下相应的资料,并按照如下步骤做了一遍,网站恢复正常

第一步:停止Apache服务的所有进程service httpd stop,删除 Apache2/logs/目录下的 error.log、access.log文件

第二步:打开 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

1,日志文件太大问题

第一步:停止Apache服务的所有进程,删除 /var/log/httpd目录下的 error.log、access.log文件
第二步:打开 /etc/httpd/conf 的 httpd.conf配置文件
并找到下面配置
ErrorLog logs/error.log
把上面的注释掉,换成

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

ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/error_log%Y%m%d.log 86400 480"
或者

限制错误日志文件为 1M

ErrorLog "|/usr/sbin/rotatelogs /var/log/httpd/error_log%Y%m%d.log 1M"
找到下面配置
CustomLog logs/access.log combined
把上面的注释掉,换成

每天生成一个访问日志文件

CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log%Y%m%d.log 86400 480" common
或者

限制访问日志文件为 1M

CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log%Y%m%d.log 1M" common

2、为了防止频繁写入一些不重要的错误日志,提高系统性能,最好还要设置一下错误日志级别
找到httpd.conf配置文件下

LogLevel: Control the number of messages logged to the error_log.

Possible values include: debug, info, notice, warn, error, crit,

alert, emerg.

LogLevel warn
其中LogLevel用于调整记于错误日志中的信息的详细程度。(参阅ErrorLog指令)。可以选择下列级别,依照重要性降序排列:
Level Description Example
emerg 紧急 - 系统无法使用。 "Child cannot open lock file. Exiting"
alert 必须立即采取措施。 "getpwuid: couldn't determine user name from uid"
crit 致命情况。 "socket: Failed to get a socket, exiting child"
error 错误情况。 "Premature end of script headers"
warn 警告情况。 "child process 1234 did not exit, sending another SIGHUP"
notice 一般重要情况。 "httpd: caught SIGBUS, attempting to dump core in ..."
info 普通信息。 "Server seems busy, (you may need to increase StartServers, or Min/MaxSpareServers)..."
debug 出错级别信息 "Opening config file ..."
默认级别是warn,那么warn级别以上的日志都会记录,会产生大量“文件不存在”的erro级别的错误日志。建议使用 crit 级别的设置,这样只记录致命级别以上的日志,有效减少日志数量。 把LogLevel warn更改为LogLevel crit 然后重启apache即可。
转载于:https://www.cnblogs.com/xiao-van/p/6913391.html

2020-04-21T00:46:44.png

Last modification:April 21, 2020
如果觉得我的文章对你有用,请随意赞赏