如圖所示,nginx快取,可以在一定程度上,減少源伺服器的處理請求壓力。 因為靜態檔案(比如css,js, )中,很多都是不經常更新的。 nginx使用proxy_cache將使用者的請求快取到本地乙個目錄。下乙個相同請求可以直接調取快取檔案,就不用去請求伺服器了。 畢竟,io密集型服務的處理是nginx的強項。
先上個栗子:
#要快取檔案的字尾,可以在以下設定。
}# 無nginx快取的blog埠
server
}}複製**因為我是在一台伺服器上做試驗(敲重點,做試驗),所以用了兩個埠80
和90
進行模擬兩台伺服器之間的互動。
接下來講一下配置項:80
埠對接的是普通的網域名稱()訪問。
90
埠負責處理80
埠**過來的資源訪問。相當於
90
埠是源伺服器,80
埠是nginx反向快取**伺服器。
proxy_connect_timeout 10;
proxy_read_timeout 180;
proxy_send_timeout 5;
proxy_buffer_size 16k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 96k;
proxy_temp_file_write_size 96k;
proxy_temp_path /tmp/temp_dir;
proxy_cache_path /tmp/cache levels=1:2 keys_zone=cache_one:100m inactive=1d max_size=10g;
複製**
2.2.1 反向快取**伺服器server
#要快取檔案的字尾,可以在以下設定。
}複製**
這裡我設定了
、css
、js
靜態資源進行快取。 當使用者輸入
網域名稱時,解析得到ip:port
的訪問位址。port
預設為80。所以頁面請求會被當前server擷取到,進行請求處理。 當解析到上述檔名結尾的靜態資源,會到快取區獲取靜態資源。 如果獲取到對應資源,則直接返回資料。 如果獲取不到,則將請求**給proxy_pass
指向的位址進行處理。
2.2.2 源伺服器
server
}複製**
這裡直接處理90
埠接受到的請求,到伺服器本地目錄/mnt/blog
下抓取資源進行響應。
細心的讀者應該發現,我在第二段的栗子裡,留了個彩蛋add_header wall "hey!guys!give me a star."
。add_header
是用於在報頭設定自定義的資訊。 所以,如果快取有效的話,那麼靜態資源返回的報頭,一定會帶上這個資訊。
訪問結果如下:
[1] nginx文件
[2] nginx反向快取**詳解
[3] nginx快取伺服器靜態檔案
我的github倉庫
give me a star,if it's work out for you.thank you.
使用nginx快取伺服器上的靜態檔案
如圖所示,nginx快取,可以在一定程度上,減少源伺服器的處理請求壓力。因為靜態檔案 比如css,js,中,很多都是不經常更新的。nginx使用proxy cache將使用者的請求快取到本地乙個目錄。下乙個相同請求可以直接調取快取檔案,就不用去請求伺服器了。畢竟,io密集型服務的處理是nginx的強...
Nginx用為快取伺服器
nginx 快取組成 磁碟空間 nginx做為反向 時,能夠將來自upstream的響應快取至本地,並在後續的客戶端請求同樣內容時直接從本地構造響應報文。proxy cache 模組 為上游伺服器提供快取功能 當客戶端再請求時先從快取中找,找到直接發給客戶端 proxy cache path dat...
Nginx做快取伺服器
nginx做快取伺服器 1.主配置 etc nginx nginx.conf 2.proxy配置 etc nginx conf.d proxy.conf 引數解釋 proxy cache path 快取檔案路徑 levels 設定快取檔案目錄層次 levels 1 2 表示兩級目錄 keys zon...