Predtým, než budeme hovoriť o webovom cache, poďme sa porozprávať o CDN, sieť na doručovanie obsahu (CDN) je distribuovaná sieť postavená a pokrytá na nosnej sieti, pozostávajúcej z flotíl edge node serverov po celom svete. CDN môže zdieľať tlak na pôvodný server, vyhnúť sa preťaženiu siete, zabezpečiť distribúciu obsahu webových stránok v rôznych regiónoch a scenároch a zlepšiť rýchlosť prístupu k zdrojom. CDN ukladá zdrojové serverové zdroje do akceleračných uzlov IDC po celom svete, takže keď koncoví používatelia požiadajú o prístup a získanie zdrojov pôvodného servera, môžu získať uložené zdroje na blízkych CDN uzloch, zlepšiť rýchlosť prístupu k zdrojom a zdieľať tlak na zdrojové servery.
Ako je znázornené na nasledujúcom obrázku:
Jednoducho povedané, keď používatelia pristupujú k niektorým statickým zdrojom, nezískajú ich z pôvodného servera po použití CDN, ale nájdu službu CDN najbližšiu aktuálnemu používateľovi prostredníctvom výpočtu a vrátenia údajov.
Hodnoty webového cacheovania sú službou medzi používateľom a pôvodným serverom a Nginx poskytuje webové cacheovanie natívne. Medzi ďalšie patria Varnish, Squid a Cachewall, čo sú webové cache proxy (niektoré z nich neposkytujú len webové cache).
O dokumentácii konfigurácie cache Nginx:Prihlásenie na hypertextový odkaz je viditeľné.
Po prvé, keď prvýkrát pristupujeme k zdroju cez cacheovú službu, stav cache jeSLEČNA, požiada pôvodný server, aby ho stiahol, ako je znázornené na obrázku nižšie:
Keď k zdroju pristupujeme druhýkrát, zistíme, že zdroj bol uložený do vyrovnávacej pamäte a stav jeUDRIEŤ, ako je znázornené na obrázku nižšie:
Hlavné konfiguračné parametre Nginx sú nasledovné:
Hlavné parametre:
proxy_cache_path/data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=180d use_temp_path=off;
●path: Povinný parameter, ktorý určuje cestu úložiska uložených súborov. ●levels: Definuje hierarchiu adresára cache. Každú vrstvu možno reprezentovať ako 1 (až 16 možností, 0-f) alebo 2 (až 256 možností, 00-ff), oddelené : v strede. proxy_cache_path /data/nginx/cache; To znamená, že všetky cache majú len jeden adresár, napríklad /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path úrovne /data/nginx/cache=1:2; To znamená, že cache je adresár druhej úrovne (s 16*256=4096 adresármi), napríklad /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Povinný parameter definuje názov a veľkosť zdieľanej pamäťovej oblasti, ktorá sa používa na uloženie metadát položky cache (všetky aktívne kľúče a informácie súvisiace s cache), aby nginx mohol rýchlo určiť, či požiadavka zasiahne alebo nedosiahne cache, 1m môže uložiť 8000 kľúčov, 10m 80000 kľúčov, 10m 80000 kľúčov, 10m 80000 kľúčov. ●neaktívne: Vymaže cache súbory, ktoré neboli prístupné v určenom čase, predvolene 10 minút. ●max_size: Horná hranica cache úložiska je nastavená a ak nie je špecifikovaná, maximálne sa využije všetok diskový priestor. ● use_temp_path: Umiestnite dočasné súbory priamo do adresára cache.
proxy_cachemy_cache; #指定用于页面缓存的共享内存 je názov zóny definovaný proxy_cache_path smernicou
proxy_cache_min_uses1; ## stanovuje prah cache, koľkokrát sa požiadavka uloží do cache, a neukladá nízkofrekvenčné požiadavky, aby sa predišlo plytvaniu.
proxy_cache_valid200 metrov 3 metre; #为不同的响应状态码设置不同的缓存时间 ide o požiadavku so stavovým kódom cache 200 a dĺžkou cache 3 minúty
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headerNginx-Cache-Status $upstream_cache_status; #把缓存状态设置为头部信息, odpovedajte klientovi
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Použite Nginx caching proxy na ignorovanie dotazových reťazcov
(Koniec)
|