nginx访问日志文件过大导致服务器性能降低解决方法


转载至:http://www.linuxso.com/linuxxitongguanli/1124.html

nginx服务器卡的要死

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

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

处理方案:

修改nginx的配置文件,access_log,访问日志只记录phpfile文件类型的

对于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
这样修改完,日志的增长速度会明显慢下来,不过仍然是不断变大,也终有把空间占满的一天。

2.写一个简单的脚本定期清空日志。

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

0 0  * * * /root/cleanlog.sh //我这是每天夜里12点清空一次,根据你的情况设置清空的频率。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM