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