nginx日志文件太大怎么办_nginx日志分割方法

发布时间:2019-11-04编辑:脚本学堂
有关nginx日志文件太大的解决方法,可在nginx配置文件中设置nginx日志文件轮循方式,以解决日益增长的nginx日志文件太大的问题。

有遇到nginx日志文件太大的问题吗?

问题描述:网站卡的要死,mysql经常卡死。

df -h 一看  分区空间全部占满了.

访问日志太大了,增涨的速度相当吓人.

处理方案:

修改nginx配置文件,access_log,访问日志只记录phpfile.html' target='_blank'>文件类型的

对于html,和图片,css,js等文件的访问均不记录日志。

加一个crontab任务,定期清空日志内容。

步骤如下:

1、 查找nginx的安装路径
默认是/usr/local/nginx/,目录下会有 conf  logs  sbin 等目录。
 

#cd /usr/local/nginx
#cd  conf/vhost   //此目录下存放着各站点的配置文件

#vim  linuxso.com.conf
 

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires      30d;
access_log off;   //添加这一行 将不记录这些文件类型
}

location ~ .*.(js|css)?$ {
expires  12h;
access_log off;  //也不让记录                         }
 
location ~ .*.(html|htm)$    //这部分原来是没有的,只记录访问php文件即可。
{
 access_log off;
}

然后看最下面一行  access_log  /var/log/linuxso.log  /var/www/linuxso;
记录下来 /var/log/linuxso.log 日志存放的路径 后面写定期清空日志脚本时要用。

修改完成后,执行:
 

/usr/local/nginx/sbin/nginx -s reload

然后重启nginx。
nginx日志文件的增长速度会明显慢下来。

3,可以用shell/ target=_blank class=infotextkey>shell脚本定期清空日志。
 

# vim /root/cleanlog.sh 写入
#/bin/bash
/bin/rm -rf /var/log/linuxso.log
/usr/local/nginx/sbin/nginx -s reload

创建linux定时计划任务:
 

#crontab -e 0 0  * * * /root/cleanlog.sh   //每天夜里12点清空一次,根据情况设置清空的频率。