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

时间: 2024-10-08 23:08:31

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

解决Linux下Tomcat日志目录下的catalina.log日志文件过大的问题

本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162) 分类: Java技术专区2011-03-13 12:25 5017人阅读 评论(1) 收藏 举报 tomcatlinux工具任务web 由于Tomcat在默认情况下会将没有经过配置的web应用所产生的日志输出已经其本身的日志内容都输出到这个文件中,那么随着时间的推移,这个文件的尺寸将会越来越大,当需要检查日志内容时间会导致文件难以打开,而且同时tomcat依旧在不断的向文

从Apache的日志文件收集和提供统计数据(一个Python插件架构的简单实现)

从Apache的日志文件收集和提供统计数据 这一章我们将介绍基于插件程序的架构和实现.作为例子,我们将构建一个分析Apache服务器log文件的框架.这一次我们不再使用单片机的方式来创建,而是改为采用模块化的方式.一旦我们有了一个基本框架,我们就可以为它创建一个插件.这个插件可以基于请求者的地理位置执行分析. 程序的结构和功能 在数据维护和统计收集领域,很难有一个单一的应用程序可以适合多个用户的需求.让我们以分析Apache的web服务器日志文件为例.web服务器接受到的每一个请求都被记录在日志

Apache错误日志时时查看

做项目的时候,有时候会需要查看一下apache的错误日志,然后就需要很繁琐的打开那个目录下面,看信息,只有当错误的时候我才会去打开那个文件. 但是最近我发现在开发的时候,自己忽略掉了很多错误,虽然不会导致出错,但是搞不好哪天就会爆发. 我不高兴每次打开那个文件,然后自己又要手动的刷新,太麻烦,所以就自己做了个网页版的,能够时时查看错误日志. 这个小工具比较简陋,就是简单的将文件内容打印到页面中,并在有新错误的时候做个title的闪动小提示. 当有新消息的时候标签就变成 用到了三个文件,jquer

Linux下自动清除MySQL日志文件

MySQL运行过程中会生成大量的日志文件,占用不少空间,修改my.cnf文件配置bin-log过期时间,在Linux下自动清除MySQL日志文件 [mysqld] expire-logs-days=7 max-binlog-size=268435456

lumen 自定义错误日志文件

自定义错误日志文件,改造新的方法 <?php namespace App; use Monolog\Logger; use Monolog\Handler\StreamHandler; use Monolog\Formatter\LineFormatter; class LogLib { //define static log instance. protected static $_log_instance; /** * 获取log实例 * * @return obj * @author Sp

linnux下setgid与setfacl的结合,解决apache自动生成文件权限问题

setgid与setfacl的结合,能够解决apache/nginx自动生成的文件导致ftp用户删除时权限不足的问题. 需求这样的: 1:ThinkPHP框架运行时生成Runtime(755)文件,文件权限所有者为apache:apache用户.组. 2:而ftp用户已属apache组用户,因为Runtime文件夹的所有组(不可写),所以此文件夹下面的文件无法被ftp用户删除,而开发的时候又需要实时的删除缓存文件来使更改生效. 关于两个命令的讲解建议观看另两篇文章: setgid setfacl

centos下nohup日志文件过大问题解决记录

[出处]   https://blog.csdn.net/shawnhu007/article/details/50971084 [思考]   服务器项目运行几月后,日志文件大小达到G级别,导致查看过慢,占用磁盘空间,无法删除 [行动/反馈]  上网查看相同类型解决方法,引用上方连接博主的思路,先在这里感谢博主的分享 以下为本人的场景及实现: 通过在centos中设置定时任务,每天的凌晨零点零分进行日志分割操作,把当前日志文件分割备份后,清空当前的nohup日志文件. shell脚本代码 定时任

apache访问日志文件切割

每次用户访问都会产生访问日志,以及有错误日志. 所以说,日志文件会日积月累,早晚会撑爆我们的硬盘,所以咋们可以把日志通过切割,比如按天数切割成一系列的文件.然后通过别的途径可以把很久的文件删除. 那怎么去切割文件呢. 首先去虚拟主机的主配置文件 vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 加入如下模块 ErrorLog  "|/usr/local/apache2/bin/rotatelogs -l /usr/local/apache2/

SQL Server 2008 R2 下如何清理数据库日志文件

USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_