構建Nginx Cache高效能快取系統

2021-09-03 10:27:18 字數 2006 閱讀 7243

隨著nginx web伺服器得到越來越多的sa的青睞,nginx的cache功能已經具備squid所擁有的web快取加速功能、清除指定url快取的功能。

而在效能上,nginx對多核cpu的利用,勝過squid不少。另外,在反向**、負載均衡、健康檢查、後端伺服器故障轉移、rewrite重寫、易用性上,nginx也比squid強大得多。

這使得一台nginx可以同時作為負載均衡伺服器與web快取伺服器來使用。

一、 nginx(ngx_cache)安裝:

二、 nginx cache配置:

} 三、nginx cache測試:

#啟動nginx服務,/usr/local/nginx/sbin/nginx

#訪問我們的web站點,然後在/data/proxy_cache_dir目錄會看到快取的子目錄(以數字、字母組成)

如下圖:

四、如何清除快取:

清除快取有兩種方法,第一種是直接通過nginx.conf配置檔案定義的/purge虛擬目錄去清除,第二種方法可以通過shell指令碼去批量清除:

附上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

for i in `echo $file |sed 's//\n/g'`

do grep -ra  $i  $| awk -f':'   ''  > /tmp/cache_list.txt

for  j  in `cat/tmp/cache_list.txt`

do rm  -rf  $j

echo "$i  $j  is  deleted success !"

done

done

構建高效能web

一直想在web效能 可擴充套件性和可用性提公升領域有所深入,但由於這些經驗的沉澱,沒有比較集中的學習資料輔助,並且也一直沒有接觸過有大規模訪問需求的web專案,因此總是在這個領域門外徘徊。上星期讀到一本書,構建高效能web站點 感覺有點如獲至寶,完全可以稱為高效能web的入門寶典,雖然內容不夠深入,...

PHP構建高效能系統

首先,我們需要清楚在業務上有什麼要樣的效能需求 第二步,根據效能的要求去考慮系統的設計,第三步,系統的開發過程中去關注可能存在的區域性效能問題。沒有開發過效能敏感系統的團隊,容易犯的錯誤是,不去考慮系統將來有多少人使用,併發訪問有多高,需要存貯多少數量的資料?直接就開始做系統的開發,抱著等著出了效能...

構建高效能服務的考量

做一款網際網路產品,人們往往立馬就想到了海量使用者 海量資料 高併發 高效能。所以起初做架構設計時就把效能提到了乙個不得不做的地位。我個人是很反對這種 未雨綢繆 的方式的,因為對於乙個新應用來說獲取乙個網際網路使用者的成本並不小,而且 海量 不是短期內就會面臨的。所以請建議您最好先在基於投入產出比的...