您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關Nginx中怎么避免傳統緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1、傳統緩存之一(404)
這個辦法是把Nginx緩存的404錯誤定向到后端,然后用proxy_store把后端返回的頁面保存。
配置:
location / {
root /home/html/;#主目錄
expires 1d;#網頁的過期時間
error_page 404 =200 /fetch$request_uri;#404定向到
/fetch目錄下}
location /fetch/ {#404定向到這里
internal;#指明這個目錄不能在外部直接訪問到
expires 1d;#網頁的過期時間
alias /home/html/;#虛擬目錄文件系統地址要和locaion
/一致,proxy_store會將文件保存到這目錄下proxy_pass http://www.sudone.com/;#后端upstream地址,
/fetch同時是一個代理proxy_set_header Accept-Encoding '';#讓后端不要返回壓縮
(gzip或deflate)的內容,保存壓縮后的內容會引發亂子。proxy_store on;#指定Nginx將代理返回的文件保存
proxy_temp_path /home/tmp;#臨時目錄,這個目錄要和/home/
html在同一個硬盤分區內}
使用的時候還有要注意是Nginx緩存要有權限往/home/tmp和/home/html下有寫入文件的權限,在linux下Nginx一般會配置成nobody用戶運行,這樣這兩個目錄就要chown nobody,設成nobody用戶專用,當然也可以chmod 777,不過所有有經驗的系統管理員都會建議不要隨便使用777。
2、傳統緩存之二(!-e)
原理和404跳轉基本一致,但更簡潔一些:
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中怎么避免傳統緩存有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。