Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 2246|Antwoord: 0

[Web] Nginx's Web Resource Caching (CDN)

[Link kopiëren]
Geplaatst op 17-07-2024 22:10:31 | | | |
Voordat we het over web caching hebben, laten we het hebben over CDN, een content delivery network (CDN) is een gedistribueerd netwerk dat bovenop een bearer-netwerk is gebouwd en afgedekt, bestaande uit edge-node-servervloten over de hele wereld. CDN kan de druk op de oorspronkelijke server delen, netwerkcongestie vermijden, zorgen voor de distributie van website-inhoud in verschillende regio's en scenario's, en de snelheid van de toegang tot bronnen verbeteren. CDN cachet de bronnen van de oorspronkelijke server naar de versnellingsknooppunten van IDC wereldwijd, zodat wanneer eindgebruikers toegang aanvragen en de bronnen van de oorspronkelijke server verkrijgen, zij de gecachte bronnen op nabijgelegen CDN-knooppunten kunnen verkrijgen, de toegangssnelheid kunnen verbeteren en de druk op de oorsprongsservers kunnen delen.

Zoals te zien is in de volgende figuur:



Simpel gezegd, wanneer gebruikers enkele statische bronnen benaderen, zullen ze deze niet van de oorspronkelijke server ophalen na gebruik van het CDN, maar vinden ze via berekenings- en retourgegevens de CDN-dienst die het dichtst bij de huidige gebruiker ligt.

Webcachingwaarden zijn een dienst tussen de gebruiker en de originserver, en Nginx biedt native webcachingmogelijkheden. Andere zijn Varnish, Squid en Cachewall, die webcaching-proxies zijn (waarvan sommige niet alleen webcaching bieden).

Over de Nginx cacheconfiguratie-documentatie:De hyperlink-login is zichtbaar.

Ten eerste, wanneer we voor het eerst een resource openen via een cachingservice, is de cachestatusMISSEN, zal de originserver verzoeken om het op te halen, zoals weergegeven in de onderstaande figuur:



Wanneer we de resource voor de tweede keer openen, zien we dat de resource is gecached en de status isSLAAN, zoals getoond in de onderstaande figuur:



De belangrijkste configuratieparameters van Nginx zijn als volgt:

Belangrijkste parameters:

proxy_cache_path/data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=180d use_temp_path=off;

●pad: Een verplichte parameter die het opslagpad van gecachte bestanden specificeert.
●levels: Definieert de hiërarchie van de cachedirectory. Elke laag kan worden weergegeven door 1 (tot 16 keuzes, 0-f) of 2 (tot 256 keuzes, 00-vv), gescheiden door : in het midden.
proxy_cache_path /data/nginx/cache;  Dit betekent dat alle caches slechts één map hebben, zoals /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b
proxy_cache_path /data/nginx/cache-niveaus=1:2;  Dit betekent dat de cache een tweede-laag directory is (met 16*256=4096 directories), zoals /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b
● keys_zone: Verplichte parameter, definieer de naam en grootte van het gedeelde geheugengebied, dat wordt gebruikt om de metadata van het cache-item op te slaan (alle actieve sleutels en gecachte data-gerelateerde informatie), zodat nginx snel kan bepalen of een verzoek de cache raakt of mist, 1m 8000 sleutels kan opslaan, 10m 8000 sleutels kan opslaan, 10m 80000 sleutels kan opslaan, 10m 80000 sleutels kan opslaan.
●inactief: Verwijdert cachebestanden die niet binnen de opgegeven tijd zijn benaderd, standaard 10 minuten.
●max_size: De bovengrens van cacheopslag wordt vastgesteld, en als dat niet wordt gespecificeerd, is alle schijfruimte hooguit opgebruikt.
● use_temp_path: Plaats tijdelijke bestanden direct in de cachemap.


proxy_cachemy_cache;      #指定用于页面缓存的共享内存 wordt de zonenaam gedefinieerd door proxy_cache_path richtlijn
proxy_cache_min_uses1;   ## bepaalt de cachingdrempel, hoe vaak het verzoek wordt gecachet, en cachet geen laagfrequente verzoeken om verspilling te voorkomen.
proxy_cache_valid200 3m;  #为不同的响应状态码设置不同的缓存时间 is dit een verzoek met een cachestatuscode van 200 en een cacheduur van 3 minuten
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headerNginx-Cache-Status $upstream_cache_status;  #把缓存状态设置为头部信息, reageer op de cliënt
proxy_passhttp://webservers;  #设置代理转发的后端服务器的协议和地址

Gebruik een Nginx cachingproxy om querystrings te negeren

(Einde)




Vorig:Gebruik de dotnet-ef-tool om een rollback-script te genereren
Volgend:Gebruik curl om de HTTP/3-ondersteuning van de testsite te controleren
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com