长枪不倒 发表于 2018-11-12 08:39:09

nginx 日志问题

nginx访问日志文件过大的解决方案
  今天大早上一个哥们儿就跑来说网站卡的要死,mysql经常卡死。
  df -h 一看分区空间全部占满了.
  访问日志太大了,增涨的速度相当吓人.
  处理方案:
  修改nginx的配置文件,access_log,访问日志只记录phpfile.html' target='_blank'>文件类型的
  对于html,和图片,css,js等文件的访问都不记录.
  加一个crontab任务,定期清空日志内容。
  具体实施过程:
  1. 查找nginx的安装路径默认是/usr/local/nginx/
  目录下会有 conflogssbin 等目录
  #cd /usr/local/nginx
  #cdconf/vhost   //此目录下存放着各站点的配置文件
  #vimlinuxso.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>  这样修改完,日志的增长速度会明显慢下来,不过仍然是不断变大,也终有把空间占满的一天。
  2.写一个简单的脚本定期清空日志。
  # vim /root/cleanlog.sh
  写入
  #/bin/bash
  /bin/rm -rf /var/log/linuxso.log

  /usr/local/nginx/sbin/nginx -s>  #crontab -e
  0 0* * * /root/cleanlog.sh   //我这是每天夜里12点清空一次,根据你的情况设置清空的频率。

页: [1]
查看完整版本: nginx 日志问题