前言*隨著整個互聯(lián)網(wǎng)的發(fā)展,產(chǎn)生了無數(shù)大大小小的網(wǎng)站,隨之而來用戶對網(wǎng)站UI和速度體驗也在日益加強(qiáng),對企業(yè)或者個人來說,贏得用戶體驗也就意味著贏得先機(jī)。
那今天我們在這里針對網(wǎng)站速度這方面來一起交流,提高網(wǎng)站速度對于運(yùn)維工程師、程序員來說變得至關(guān)重要。運(yùn)維工程師首先得在日常網(wǎng)站運(yùn)維中發(fā)現(xiàn)影響網(wǎng)站速度的各種因素得逐個推動然后解決。
提高網(wǎng)站速度體驗除了本身網(wǎng)站程序優(yōu)化外,對于LinuxSA來說還有大量的工作要做,優(yōu)化系統(tǒng)內(nèi)核、調(diào)整WEB服務(wù)器的參數(shù)、優(yōu)化數(shù)據(jù)庫、增加網(wǎng)站架構(gòu)緩存等等一系列的工作。
對于網(wǎng)站緩存,目前主流的HTTP加速器主要有Varnish、Nginx_proxy、Squid等,隨著Nginx WEB 高速反向代理被各大中型網(wǎng)站使用,其集成緩存的功能(Nginx_proxy)也日益強(qiáng)大,目前企業(yè)中也在大量使用。今天我們來研究一下Nginx_Proxy緩存如何有效的來清理。如下使用Shell腳本來自動化清理,直接上腳本如下:
#! /bin/sh
#Auto Clean Nginx Cache Shell Scripts
#2013-06-12 wugk
#Define Path
CACHE_DIR=/data/www/proxy_cache_dir/
FILE="$*"
#To determine whether the input script,If not, then exit 判斷腳本是否有輸入,沒有輸入然后退出
if
[ "$#" -eq "0" ];then
echo "Please Insert clean Nginx cache File, Example: $0 index.html index.js"
sleep 2 exit
fi
echo "The file : $FILE to be clean nginx Cache ,please waiting ....."
#Wrap processing for the input file, for grep lookup,對輸入的文件進(jìn)行換行處理,利于grep查找匹配相關(guān)內(nèi)容
for i in `echo $FILE |sed 's//\n/g'`
do
grep -ra $i ${CACHE_DIR}| awk -F':' '{print $1}' > /tmp/cache_list.txt
for j in `cat/tmp/cache_list.txt`
do
rm -rf $j
echo "$i $j is Deleted Success !"
done
done
#The Scripts exec success and exit 0