您的位置:首页 > 运维架构 > Apache

修改Apache配置日志输出,减轻访问压力

2017-11-08 11:16 316 查看

前言

Windows服务器下部署Wamp环境作为PHP访问环境,在出现50人左右共同访问时,出现访问速度过慢问题,网上查阅资料发现是由于日志文件过大导致。查看日志文件发现已有30M以上,移除日志文件,发现速度回归正常。查阅资料修改Apache配置,已使这种情况不在发生。

解决步骤如下

windows下删除apache_access.log和error.log文件,删除C:\wamp\logs目录下的apache_access.log和access.log文件

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

ErrorLog "c:/wamp/logs/apache_error.log"
CustomLog "c:/wamp/logs/access.log" common


修改为

#ErrorLog "c:/wamp/logs/apache_error.log"

#限制错误日志文件为 1M
ErrorLog "|bin/rotatelogs.exe -l c:/wamp/logs/apache_error-%Y-%m-%d.log 1M"
#每天生成一个错误日志文件
ErrorLog "|bin/rotatelogs.exe -l c:/wamp/logs/apache_error-%Y-%m-%d.log 86400"


#CustomLog "c:/wamp/logs/access.log" common

#限制WEB日志文件为 1M
CustomLog "|bin/rotatelogs.exe -l c:/wamp/logs/access-%Y-%m-%d.log 1M" common
#每天生成一个WEB日志文件
CustomLog "|bin/rotatelogs.exe -l c:/wamp/logs/access-%Y-%m-%d.log 86400" common


检查了一下WEB日志,一般访问一次产生一条记录,觉得无用且频率高,我最后选择了关闭日志输出。

3.修改错误级别

#
# 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   错误情况。“remature 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 级别的设置,这样只记录致命级别以上的日志,有效减少日志数量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php apache 访问控制