码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2017-05-27 17:17:13      阅读:335      评论:0      收藏:0      [点我收藏+]

标签:日志文件   通信   esc   httpd   reserve   信息   end   headers   tin   

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错误日志文件过大问题

标签:日志文件   通信   esc   httpd   reserve   信息   end   headers   tin   

原文地址:http://www.cnblogs.com/xiao-van/p/6913391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!