今天就跟大家聊聊有關(guān)Nginx中怎么避免傳統(tǒng)緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)建站一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、成都網(wǎng)頁設(shè)計(jì)、微信小程序開發(fā)、成都網(wǎng)站開發(fā)、成都網(wǎng)站制作、成都軟件開發(fā)、app開發(fā)定制是成都本地專業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來見證!
1、傳統(tǒng)緩存之一(404)
這個(gè)辦法是把Nginx緩存的404錯(cuò)誤定向到后端,然后用proxy_store把后端返回的頁面保存。
配置:
location / {
root /home/html/;#主目錄
expires 1d;#網(wǎng)頁的過期時(shí)間
error_page 404 =200 /fetch$request_uri;#404定向到
/fetch目錄下}
location /fetch/ {#404定向到這里
internal;#指明這個(gè)目錄不能在外部直接訪問到
expires 1d;#網(wǎng)頁的過期時(shí)間
alias /home/html/;#虛擬目錄文件系統(tǒng)地址要和locaion
/一致,proxy_store會(huì)將文件保存到這目錄下proxy_pass http://www.sudone.com/;#后端upstream地址,
/fetch同時(shí)是一個(gè)代理proxy_set_header Accept-Encoding '';#讓后端不要返回壓縮
(gzip或deflate)的內(nèi)容,保存壓縮后的內(nèi)容會(huì)引發(fā)亂子。proxy_store on;#指定Nginx將代理返回的文件保存
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,不過所有有經(jīng)驗(yàn)的系統(tǒng)管理員都會(huì)建議不要隨便使用777。
2、傳統(tǒng)緩存之二(!-e)
原理和404跳轉(zhuǎn)基本一致,但更簡(jiǎ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/;
}
}
看完上述內(nèi)容,你們對(duì)Nginx中怎么避免傳統(tǒng)緩存有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。