centos7下,解决Apache错误日志文件过大问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7下,解决Apache错误日志文件过大问题相关的知识,希望对你有一定的参考价值。

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即可。

以上是关于centos7下,解决Apache错误日志文件过大问题的主要内容,如果未能解决你的问题,请参考以下文章

centos7web服务器如何设置核心模块core的错误日志为info级别?

Log日志文件过大怎么办

解决Tomcat catalina.out 不断成长导致档案过大的问题

PHP7 上传文件报错 Internal Server Error解决方法

MongoDB日志文件过大的解决办法

MongoDB日志文件过大的解决办法