欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nginx 配置靜態(tài)緩存及靜態(tài)緩存文件沒有生成的問題及解決方案

 更新時(shí)間:2023年11月27日 15:11:59   作者:靳某某。  
這篇文章主要介紹了nginx 配置靜態(tài)緩存及靜態(tài)緩存文件沒有生成的問題及解決方案,本文分步驟結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

nginx 配置靜態(tài)緩存全教程 (以及靜態(tài)緩存文件沒有生成)

一、第一步定義一個(gè)緩存目錄設(shè)置目錄結(jié)構(gòu)

在 http 模塊下定義(keys_zone = 緩存區(qū)名:后面是緩存區(qū)大小 inactive 不活躍的文件多久清理 max_size 緩存區(qū)所占磁盤的上限 use_temp_path 默認(rèn)關(guān)閉(有需要自己百度))

proxy_cache_path /path/your_cache_dir levels = 1:2 keys_zone=your_cache_name:10g inactive=1h max_size=20g use_temp_path=off; 

二、開啟緩存

在 http、server、location 中開啟代理緩存
舉例在location中開啟(將圖片jscsshtml等放入緩存)

server {
    listen 8099;   #緩存端口或者緩存域名
    root /www/wwwroot/static/;
    index index.html;
        location ~*.\.(png|jpg|css|html)$ {
        	expires  30m;				#緩存過期時(shí)間在瀏覽器的緩存時(shí)間
            proxy_pass http://localhost:8100;		# 代理地址非緩存文件的訪問地址,***必須加這個(gè)否則生成不來緩存這個(gè)***
            proxy_cache your_cache_name;    	#proxy_cache_path中定義的名字
            proxy_cache_valid 200 10m;				#把狀態(tài)值為200的緩存10分鐘
            proxy_cache_valid any 5m; 				#把狀態(tài)值除來200的緩存5分鐘
            proxy_cache_key "$host$request_uri"; 	#默認(rèn)key
            proxy_cache_revalidate on;				#是否開啟驗(yàn)證緩存的有效性關(guān)閉則緩存數(shù)據(jù)有變化依然請(qǐng)求緩存 開啟則會(huì)請(qǐng)求新的
            proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;				#當(dāng)后臺(tái)出現(xiàn)錯(cuò)誤時(shí)跳過
             add_header X-Proxy-Cache $upstream_cache_status;			#在頭文件新增一個(gè)X-Proxy-Cache(自定義)驗(yàn)證緩存是否命中 Hit命中 miss 沒有命中
        }
}
server {
    listen 8100; 		#正式的地址
    root /www/wwwroot/static/;
    index index.html; 
    # 其他配置...
}

注意事項(xiàng)
nginx 緩存叫代理緩存 應(yīng)該是有兩臺(tái)以上的服務(wù)器。如果只有一臺(tái)加不同的域名或者端口做區(qū)分。把后臺(tái)服務(wù)器和緩存服務(wù)分開

緩存沒有生成
1、文件夾是否有權(quán)限
2、是否設(shè)置了proxy_pass(只有走代理才會(huì)生成緩存)

Nginx緩存、靜態(tài)文件緩存配置

Nginx靜態(tài)Server基本配置

server {
	listen 80; #監(jiān)聽的端口
	server_name www.test.com; #監(jiān)聽的域名
	charset utf-8;#編碼
	root /usr/local/static/www.test.com; #主目錄
	index index.html index.htm;#歡迎頁面
	}

靜態(tài)文件緩存配置

http {
# 這個(gè)將為打開文件指定緩存,默認(rèn)是沒有啟用的,max 指定緩存數(shù)量,
# 建議和打開文件數(shù)一致,inactive 是指經(jīng)過多長時(shí)間文件沒被請(qǐng)求后刪除緩
存。
open_file_cache max=204800 inactive=20s;
# open_file_cache 指令中的inactive 參數(shù)時(shí)間內(nèi)文件的最少使用次數(shù),
# 如果超過這個(gè)數(shù)字,文件描述符一直是在緩存中打開的,如上例,如果有一個(gè)
# 文件在inactive 時(shí)間內(nèi)一次沒被使用,它將被移除。
open_file_cache_min_uses 1;
# 這個(gè)是指多長時(shí)間檢查一次緩存的有效信息
open_file_cache_valid 30s;
# 默認(rèn)情況下,Nginx的gzip壓縮是關(guān)閉的, gzip壓縮功能就是可以讓你節(jié)省不
# 少帶寬,但是會(huì)增加服務(wù)器CPU的開銷哦,Nginx默認(rèn)只對(duì)text/html進(jìn)行壓
縮 ,
# 如果要對(duì)html之外的內(nèi)容進(jìn)行壓縮傳輸,我們需要手動(dòng)來設(shè)置。
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css appl
ication/xml;
server {
listen 80;
server_name www.test.com;
charset utf-8;
root /data/www.test.com;
index index.html index.htm;
}
}

基礎(chǔ)緩存配置

proxy_cache_path/path/to/cache levels=1:2 keys_zone=my_cache:10m
max_size=10g inactive=60m
use_temp_path=off;
server {
...
location / {
proxy_cache my_cache;
proxy_pass http://my_upstream;
}
}

配置參數(shù)說明

proxy_cache_path 命令中的參數(shù)及對(duì)應(yīng)配置說明如下:
1. 用于緩存的本地磁盤目錄是 /path/to/cache/
2. levels 在 /path/to/cache/ 設(shè)置了一個(gè)兩級(jí)層次結(jié)構(gòu)的目錄。將大量的文件放置
在單個(gè)目錄中會(huì)導(dǎo)致文件訪問緩慢,所以針對(duì)大多數(shù)部署,我們推薦使用兩級(jí)
目錄層次結(jié)構(gòu)。如果 levels 參數(shù)沒有配置,則 Nginx 會(huì)將所有的文件放到同一
個(gè)目錄中。
3. keys_zone 設(shè)置一個(gè)共享內(nèi)存區(qū),該內(nèi)存區(qū)用于存儲(chǔ)緩存鍵和元數(shù)據(jù),有些類
似計(jì)時(shí)器的用途。將鍵的拷貝放入內(nèi)存可以使 Nginx 在不檢索磁盤的情況下快
速?zèng)Q定一個(gè)請(qǐng)求是 HIT 還是 MISS ,這樣大大提高了檢索速度。一個(gè) 1MB
的內(nèi)存空間可以存儲(chǔ)大約 8000個(gè)key,那么上面配置的 10MB 內(nèi)存空間可以存
儲(chǔ)差不多 80000 個(gè) key。
4. max_size 設(shè)置了緩存的上限(在上面的例子中是 10G)。這是一個(gè)可選項(xiàng);
如果不指定具體值,那就是允許緩存不斷增長,占用所有可用的磁盤空間。當(dāng)
緩存達(dá)到這個(gè)上線,處理器便調(diào)用 cache manager 來移除最近最少被使用的
文件,這樣把緩存的空間降低至這個(gè)限制之下。
5. inactive 指定了項(xiàng)目在不被訪問的情況下能夠在內(nèi)存中保持的時(shí)間。在上面的
例子中,如果一個(gè)文件在 60 分鐘之內(nèi)沒有被請(qǐng)求,則緩存管理將會(huì)自動(dòng)將其
在內(nèi)存中刪除,不管該文件是否過期。該參數(shù)默認(rèn)值為 10 分鐘(10m)。注
意,非活動(dòng)內(nèi)容有別于過期內(nèi)容。 Nginx 不會(huì)自動(dòng)刪除由緩存控制頭部指定的
過期內(nèi)容(本例中 Cache-Control:max-age=120)。過期內(nèi)容只有在 inactive
158靜態(tài)文件服務(wù)
指定時(shí)間內(nèi)沒有被訪問的情況下才會(huì)被刪除。如果過期內(nèi)容被訪問了,那么
Nginx 就會(huì)將其從原服務(wù)器上刷新,并更新對(duì)應(yīng)的inactive計(jì)時(shí)器。
6. Nginx 最初會(huì)將注定寫入緩存的文件先放入一個(gè)臨時(shí)存儲(chǔ)區(qū)域,
use_temp_path=off命令指示 Nginx 將在緩存這些文件時(shí)將它們寫入同一個(gè)目
錄下。我們強(qiáng)烈建議你將參數(shù)設(shè)置為off來避免在文件系統(tǒng)中不必要的數(shù)據(jù)拷
貝。use_temp_path在 Nginx 1.7版本和 Nginx Plus R6中有所介紹。
最終,proxy_cache 命令啟動(dòng)緩存那些URL與location部分匹配的內(nèi)容(本例中,
為 / )。你同樣可以將proxy_cache命令添加到server部分,這將會(huì)將緩存應(yīng)用到
所有的那些location中未指定自己的proxy_cache命令的服務(wù)中。

到此這篇關(guān)于nginx 配置靜態(tài)緩存及靜態(tài)緩存文件沒有生成的問題及解決方案的文章就介紹到這了,更多相關(guān)nginx 配置靜態(tài)緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用nginx做負(fù)載均衡的模塊解讀

    使用nginx做負(fù)載均衡的模塊解讀

    這篇文章主要介紹了使用nginx做負(fù)載均衡的兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Nginx正向代理實(shí)現(xiàn)局域網(wǎng)電腦訪問外網(wǎng)的過程詳解

    Nginx正向代理實(shí)現(xiàn)局域網(wǎng)電腦訪問外網(wǎng)的過程詳解

    在工作中我遇到了一個(gè)類似的情況:在公司網(wǎng)絡(luò)中,由于管理要求,局域網(wǎng)內(nèi)的電腦不能直接訪問外網(wǎng),但是,工作上領(lǐng)導(dǎo)吩咐需要讓局域網(wǎng)內(nèi)的電腦能夠訪問外網(wǎng)上的某個(gè)網(wǎng)站,這時(shí)候就需要用到正向代理,本文將介紹如何配置 Nginx 實(shí)現(xiàn)這一功能,需要的朋友可以參考下
    2024-03-03
  • Nginx常用功能詳解

    Nginx常用功能詳解

    NGiNX 是個(gè)非常優(yōu)秀的HTTP 服務(wù)器軟件,可以通過設(shè)置有實(shí)現(xiàn)許多功能,如目錄保護(hù)、IP訪問限制、防盜鏈、下載限速及設(shè)置多域名等等
    2014-07-07
  • nginx配置https加密訪問的詳細(xì)教程

    nginx配置https加密訪問的詳細(xì)教程

    這篇文章主要介紹了nginx配置https加密訪問的詳細(xì)教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • nginx中的正則表達(dá)式及l(fā)ocation和rewrite總結(jié)

    nginx中的正則表達(dá)式及l(fā)ocation和rewrite總結(jié)

    rewrite功能就是,使用nginx提供的全局變量或自己設(shè)置的變量,結(jié)合正則表達(dá)式和標(biāo)記位實(shí)現(xiàn)URL重寫以及重定向,這篇文章主要介紹了nginx中的正則表達(dá)式及l(fā)ocation和rewrite總結(jié),需要的朋友可以參考下
    2023-12-12
  • Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼

    Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼

    這篇文章主要介紹了Nginx實(shí)現(xiàn)動(dòng)靜分離的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Nginx中防止SQL注入攻擊的相關(guān)配置介紹

    Nginx中防止SQL注入攻擊的相關(guān)配置介紹

    這篇文章主要介紹了Nginx中防止SQL注入攻擊的相關(guān)配置介紹,文中提到的基本思路為將過濾的情況用rewrite重訂向到404頁面,需要的朋友可以參考下
    2016-01-01
  • Nginx中的root&alias文件路徑及索引目錄配置詳解

    Nginx中的root&alias文件路徑及索引目錄配置詳解

    這篇文章主要介紹了Nginx中的root&alias文件路徑及索引目錄配置,順帶講解了root和alias命令的用法,需要的朋友可以參考下
    2016-01-01
  • Nginx的偽靜態(tài)配置中使用rewrite來實(shí)現(xiàn)自動(dòng)補(bǔ)全的實(shí)例

    Nginx的偽靜態(tài)配置中使用rewrite來實(shí)現(xiàn)自動(dòng)補(bǔ)全的實(shí)例

    這篇文章主要介紹了Nginx的偽靜態(tài)配置中使用rewrite來實(shí)現(xiàn)自動(dòng)補(bǔ)全的實(shí)例,文中對(duì)rewrite的相關(guān)參數(shù)和正則表達(dá)使用也做了介紹,需要的朋友可以參考下
    2015-12-12
  • Nginx中的root和alias指令示例詳解

    Nginx中的root和alias指令示例詳解

    Nginx是一種高性能的Web服務(wù)器軟件,其中root和alias是用于配置資源位置的兩個(gè)指令,root指令用于設(shè)置資源的根目錄,而alias指令則為特定location設(shè)置路徑別名,root適用于整體目錄結(jié)構(gòu),alias適合細(xì)粒度路徑控制,本文詳解這兩個(gè)指令的用途及區(qū)別
    2024-10-10

最新評(píng)論