溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Nginx中怎么避免傳統(tǒng)緩存

發(fā)布時(shí)間:2021-07-19 15:19:26 來(lái)源:億速云 閱讀:119 作者:Leah 欄目:web開(kāi)發(fā)

今天就跟大家聊聊有關(guān)Nginx中怎么避免傳統(tǒng)緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

1、傳統(tǒng)緩存之一(404)

這個(gè)辦法是把Nginx緩存的404錯(cuò)誤定向到后端,然后用proxy_store把后端返回的頁(yè)面保存。

配置:

  1. location / {  

  2. root /home/html/;#主目錄  

  3. expires 1d;#網(wǎng)頁(yè)的過(guò)期時(shí)間  

  4. error_page 404 =200 /fetch$request_uri;#404定向到
    /fetch目錄下  

  5. }  

  6. location /fetch/ {#404定向到這里  

  7. internal;#指明這個(gè)目錄不能在外部直接訪問(wèn)到  

  8. expires 1d;#網(wǎng)頁(yè)的過(guò)期時(shí)間  

  9. alias /home/html/;#虛擬目錄文件系統(tǒng)地址要和locaion 
    /一致,proxy_store會(huì)將文件保存到這目錄下  

  10. proxy_pass http://www.sudone.com/;#后端upstream地址,
    /fetch同時(shí)是一個(gè)代理  

  11. proxy_set_header Accept-Encoding '';#讓后端不要返回壓縮
    (gzip或deflate)的內(nèi)容,保存壓縮后的內(nèi)容會(huì)引發(fā)亂子。  

  12. proxy_store on;#指定Nginx將代理返回的文件保存  

  13. proxy_temp_path /home/tmp;#臨時(shí)目錄,這個(gè)目錄要和/home/
    html在同一個(gè)硬盤分區(qū)內(nèi)  


使用的時(shí)候還有要注意是Nginx緩存要有權(quán)限往/home/tmp和/home/html下有寫入文件的權(quán)限,在linux下Nginx一般會(huì)配置成nobody用戶運(yùn)行,這樣這兩個(gè)目錄就要chown nobody,設(shè)成nobody用戶專用,當(dāng)然也可以chmod 777,不過(guò)所有有經(jīng)驗(yàn)的系統(tǒng)管理員都會(huì)建議不要隨便使用777。

2、傳統(tǒng)緩存之二(!-e)

原理和404跳轉(zhuǎn)基本一致,但更簡(jiǎn)潔一些:

  1. location / {  

  2. root /home/html/;  

  3. proxy_store on;  

  4. proxy_set_header Accept-Encoding '';  

  5. proxy_temp_path /home/tmp;  

  6. if ( !-f $request_filename )  

  7. {  

  8. proxy_pass http://www.sudone.com/;  

  9. }  


看完上述內(nèi)容,你們對(duì)Nginx中怎么避免傳統(tǒng)緩存有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI