Než budeme mluvit o webovém cachování, pojďme si povědět o CDN, síti pro doručování obsahu (CDN) je distribuovaná síť postavená a pokrytá na nosiči sítě, která se skládá z flotil serverů s okrajovými uzly po celém světě. CDN může sdílet tlak na původní server, vyhnout se přetížení sítě, zajistit distribuci obsahu webu v různých regionech a scénářích a zlepšit rychlost přístupu ke zdrojům. CDN ukládá zdrojové serverové zdroje do akceleračních uzlů IDC po celém světě, takže když koncoví uživatelé požádají o přístup a získávají zdrojové servery, mohou získat cacheované zdroje na blízkých CDN uzlech, zlepšit rychlost přístupu ke zdrojům a sdílet tlak na zdrojové servery.
Jak je znázorněno na následujícím obrázku:
Jednoduše řečeno, když uživatelé přistupují ke statickým zdrojům, nezískají je z původního serveru po použití CDN, ale najdou službu CDN nejblíže aktuálnímu uživateli pomocí výpočtu a vrácení dat.
Hodnoty webového cacheování jsou službou mezi uživatelem a původním serverem a Nginx poskytuje nativní možnosti webu. Mezi další patří Varnish, Squid a Cachewall, což jsou webové cache proxy (některé z nich neposkytují pouze webové cache).
O dokumentaci konfigurace cache Nginx:Přihlášení k hypertextovému odkazu je viditelné.
Za prvé, když poprvé přistupujeme k zdroji přes cacheovací službu, stav cache jeZMEŠKAT, požádá původní server, aby ji stáhl, jak je znázorněno na obrázku níže:
Když k zdroji přistupujeme podruhé, zjistíme, že je uložen do mezipaměti a stav jeUDEŘIT, jak je znázorněno na obrázku níže:
Hlavní konfigurační parametry Nginx jsou následující:
Hlavní parametry:
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ý parametr, který určuje cestu úložiště cacheovaných souborů. ●levels: Definuje hierarchii adresáře cache. Každou vrstvu lze reprezentovat 1 (až 16 možností, 0-f) nebo 2 (až 256 možností, 00-ff), oddělené : uprostřed. proxy_cache_path /data/nginx/cache; To znamená, že všechny cache mají pouze jeden adresář, například /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path úrovně /data/nginx/cache=1:2; To znamená, že cache je adresář druhé úrovně (s 16*256=4096 adresáři), například /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Povinný parametr, definuje název a velikost sdílené paměťové oblasti, která slouží k uložení metadat položky cache (všechny aktivní klíče a informace související s cache datami), aby nginx mohl rychle určit, zda požadavek zasáhl nebo neuspěl v cache, 1m může uložit 8000 klíčů, 10m 80000 klíčů, 10m 80000 klíčů. ●neaktivní: Maže cache soubory, které nebyly přístupné ve stanoveném čase, výchozí stav po dobu 10 minut. ●max_size: Horní hranice cache úložiště je stanovena, a pokud není specifikováno, veškeré místo na disku bude maximálně využito. ● use_temp_path: Umístěte dočasné soubory přímo do adresáře cache.
proxy_cachemy_cache; #指定用于页面缓存的共享内存 je název zóny definován proxy_cache_path direktivou
proxy_cache_min_uses1; ## stanovuje práh cache, kolikrát je požadavek uložen do cache, a neukládá nízkofrekvenční požadavky, aby se předešlo plýtvání.
proxy_cache_valid200 metrů 3 metry; #为不同的响应状态码设置不同的缓存时间 se jedná o požadavek s kódem stavu cache 200 a délkou trvání cache 3 minuty
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headernginx-cache-status $upstream_cache_status; #把缓存状态设置为头部信息, odpovědět klientovi
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Použijte Nginx caching proxy k ignorování dotazových řetězců
(Konec)
|