新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Nginx緩存如何避免傳統(tǒng)緩存的錯誤
Nginx緩存有不少需要我們學(xué)習(xí)的知識,尤其是在面對很多錯誤的時候,那么首先我們就先了解下有關(guān)404錯誤吧。貌似從來沒有寫過Nginx緩存功能,都是只看不分享,這是不好之習(xí)慣啊。

1、傳統(tǒng)緩存之一(404)
這個辦法是把Nginx緩存的404錯誤定向到后端,然后用proxy_store把后端返回的頁面保存。
配置:
- location / {
- root /home/html/;#主目錄
- expires 1d;#網(wǎng)頁的過期時間
- error_page 404 =200 /fetch$request_uri;#404定向到
/fetch目錄下- }
- location /fetch/ {#404定向到這里
- internal;#指明這個目錄不能在外部直接訪問到
- expires 1d;#網(wǎng)頁的過期時間
- alias /home/html/;#虛擬目錄文件系統(tǒng)地址要和locaion
/一致,proxy_store會將文件保存到這目錄下- proxy_pass http://www.sudone.com/;#后端upstream地址,
/fetch同時是一個代理- proxy_set_header Accept-Encoding '';#讓后端不要返回壓縮
(gzip或deflate)的內(nèi)容,保存壓縮后的內(nèi)容會引發(fā)亂子。- proxy_store on;#指定Nginx將代理返回的文件保存
- proxy_temp_path /home/tmp;#臨時目錄,這個目錄要和/home/
html在同一個硬盤分區(qū)內(nèi)- }
使用的時候還有要注意是Nginx緩存要有權(quán)限往/home/tmp和/home/html下有寫入文件的權(quán)限,在linux下Nginx一般會配置成nobody用戶運行,這樣這兩個目錄就要chown nobody,設(shè)成nobody用戶專用,當(dāng)然也可以chmod 777,不過所有有經(jīng)驗的系統(tǒng)管理員都會建議不要隨便使用777。
2、傳統(tǒng)緩存之二(!-e)
原理和404跳轉(zhuǎn)基本一致,但更簡潔一些:
- location / {
- root /home/html/;
- proxy_store on;
- proxy_set_header Accept-Encoding '';
- proxy_temp_path /home/tmp;
- if ( !-f $request_filename )
- {
- proxy_pass http://www.sudone.com/;
- }
- }
以上就是對Nginx緩存的詳細(xì)介紹,希望大家有所收獲。
【編輯推薦】
- Nginx proxy反向代理的十五大技術(shù)特點
- Nginx php如何解決502 Bad Gateway錯誤
- Nginx異步代理四步解決相關(guān)問題
- Nginx Web服務(wù)器標(biāo)準(zhǔn)IP解決方案
- Nginx負(fù)載均衡器如何實現(xiàn)自行共享
網(wǎng)站名稱:Nginx緩存如何避免傳統(tǒng)緩存的錯誤
標(biāo)題URL:http://www.5511xx.com/article/dphjcic.html


咨詢
建站咨詢
