使用nginx快取伺服器上的靜態檔案

2022-02-21 16:12:10 字數 2080 閱讀 5228

如圖所示,nginx快取,可以在一定程度上,減少源伺服器的處理請求壓力。

因為靜態檔案(比如css,js, )中,很多都是不經常更新的。nginx使用proxy_cache將使用者的請求快取到本地乙個目錄。下乙個相同請求可以直接調取快取檔案,就不用去請求伺服器了。

畢竟,io密集型服務的處理是nginx的強項。

先上個栗子:

#要快取檔案的字尾,可以在以下設定。

}# 無nginx快取的blog埠

server }}

因為我是在一台伺服器上做試驗,所以用了兩個埠8090進行模擬兩台伺服器之間的互動。

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 

#要快取檔案的字尾,可以在以下設定。

}

這裡我設定了cssjs靜態資源進行快取。

當使用者輸入網域名稱時,解析得到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...