Înainte de a vorbi despre cache-ul web, să vorbim despre CDN, o rețea de livrare a conținutului (CDN) este o rețea distribuită construită și acoperită peste o rețea bearer, formată din flote de servere edge node din întreaga lume. CDN poate împărți presiunea asupra serverului de origine, poate evita congestia rețelei, poate asigura distribuția conținutului site-ului în diferite regiuni și scenarii și poate îmbunătăți viteza accesării la resurse. CDN stochează în cache resursele serverului de origine către nodurile de accelerare ale IDC din întreaga lume, astfel încât atunci când utilizatorii finali solicită acces și obțin resursele serverului de origine, pot obține resursele stocate în cache pe nodurile CDN din apropiere, pot îmbunătăți viteza de acces la resurse și pot împărți presiunea asupra serverelor de origine.
Așa cum se vede în figura următoare:
Pe scurt, când utilizatorii accesează unele resurse statice, nu le vor obține de la serverul de origine după utilizarea CDN-ului, ci vor găsi serviciul CDN cel mai apropiat de utilizatorul curent prin calcul și returnarea datelor.
Valorile de cache web sunt un serviciu între utilizator și serverul de origine, iar Nginx oferă capabilități native de cache web. Altele includ Varnish, Squid și Cachewall, care sunt proxy-uri de cache web (unele dintre ele nu oferă doar cache web).
Despre documentația de configurare a cache-ului Nginx:Autentificarea cu hyperlink este vizibilă.
În primul rând, când accesăm pentru prima dată o resursă printr-un serviciu de cache, starea cache-ului esteDOMNIȘOARĂ, va solicita serverului de origine să o extragă, așa cum se arată în figura de mai jos:
Când accesăm resursa pentru a doua oară, vom descoperi că resursa a fost stocată în cache și starea esteLOVI, așa cum se arată în figura de mai jos:
Principalii parametri de configurare ai Nginx sunt următorii:
Parametri principali:
proxy_cache_path/data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=180d use_temp_path=off;
●path: Un parametru obligatoriu care specifică calea de stocare a fișierelor cache. ●levels: Definește ierarhia directorului cache. Fiecare strat poate fi reprezentat prin 1 (până la 16 alegeri, 0-f) sau 2 (până la 256 alegeri, 00-ff), separate de : în mijloc. proxy_cache_path /data/nginx/cache; Aceasta înseamnă că toate cache-urile au un singur director, cum ar fi /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path /data/nginx/cache levels=1:2; Înseamnă că cache-ul este un director de nivel secundar (cu 16*256=4096 directoare), cum ar fi /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Parametru obligatoriu, definește numele și dimensiunea zonei de memorie partajată, care este folosită pentru a stoca metadatele elementului cache (toate cheile active și informațiile legate de datele cache-ului), astfel încât nginx să poată determina rapid dacă o cerere lovește sau nu cache-ul, 1m poate stoca 8000 de chei, 10m poate stoca 80000 de chei, 10m poate stoca 80000 de chei. ●inactiv: Șterge fișierele cache care nu au fost accesate în timpul specificat, implicit pentru 10 minute. ●max_size: Limita superioară a stocării cache-ului este stabilită, iar dacă nu este specificată, tot spațiul pe disc va fi folosit cel mult. ● use_temp_path: Plasează fișiere temporare direct în directorul cache.
proxy_cachemy_cache; #指定用于页面缓存的共享内存, numele zonei este definit printr-o directivă proxy_cache_path
proxy_cache_min_uses1; ## stipulează pragul de stocare în cache, de câte ori este stocată cererea în cache, și nu stochează în cache cererile de frecvență joasă pentru a evita risipa.
proxy_cache_valid200 de 3m; #为不同的响应状态码设置不同的缓存时间, aceasta este o cerere cu un cod de stare cache de 200 și o durată de 3 minute
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headerNginx-Cache-Status $upstream_cache_status; #把缓存状态设置为头部信息, răspunde clientului
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Folosește un proxy de cache Nginx pentru a ignora șirurile de interogări
(Sfârșit)
|