轉載至: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點清空一次,根據你的情況設置清空的頻率。