|
|
Opublikowano 17.07.2024 22:10:31
|
|
|
|

Zanim przejdziemy do buforowania webowego, porozmawiajmy o CDN – sieci dostarczania treści (CDN) to rozproszona sieć zbudowana i pokryta na sieci nośnikowej, składającej się z flot serwerów węzłów brzegowych na całym świecie. CDN może dzielić presję na serwer źródłowy, unikać przeciążenia sieci, zapewniać dystrybucję treści stron internetowych w różnych regionach i scenariuszach oraz usprawniać dostęp do zasobów. CDN buforuje zasoby serwera źródłowego do węzłów akceleracyjnych IDC na całym świecie, tak aby użytkownicy końcowi, gdy żądają dostępu do zasobów serwera źródłowego i ich uzyskali, mogli uzyskać zasoby buforowane na pobliskich węzłach CDN, poprawić szybkość dostępu do zasobów i podzielić się presją na serwery źródłowe.
Jak pokazano na poniższym rysunku:
Mówiąc prosto, gdy użytkownicy uzyskują dostęp do niektórych zasobów statycznych, nie pobierają ich z serwera źródłowego po użyciu CDN, lecz znajdą usługę CDN najbliższą aktualnemu użytkownikowi poprzez obliczenia i dane zwrotne.
Wartości buforowania sieci to usługa pomiędzy użytkownikiem a serwerem źródłowym, a Nginx zapewnia natywne możliwości buforowania webu. Inne to Varnish, Squid i Cachewall, które są proxy do buforowania stron internetowych (niektóre z nich nie tylko oferują buforowanie webowe).
O dokumentacji konfiguracji pamięci podręcznej Nginx:Logowanie do linku jest widoczne.
Po pierwsze, gdy po raz pierwszy uzyskujemy dostęp do zasobu przez usługę buforowania, stan pamięci podręcznej jestTĘSKNIĆ, poprosi serwer początkowy o pobranie go, jak pokazano na poniższym rysunku:
Gdy po raz drugi uzyskujemy dostęp do zasobu, okaże się, że zasób został zbuforowany, a stan jestUDERZYĆ, jak pokazano na poniższym rysunku:
Główne parametry konfiguracyjne Nginx są następujące:
Główne 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: Obowiązkowy parametr określający ścieżkę przechowywania plików cacheowanych. ●levels: Definiuje hierarchię katalogu cache. Każdą warstwę można przedstawić jako 1 (do 16 wyborów, 0-f) lub 2 (do 256 wyborów, 00-ff), oddzielone przez: w środku. proxy_cache_path /data/nginx/cache; Oznacza to, że wszystkie pamięci podręczne mają tylko jeden katalog, taki jak /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b proxy_cache_path poziomy /data/nginx/cache=1:2; Oznacza to, że pamięć podręczna jest katalogiem drugiego poziomu (z 16*256=4096 katalogami), takimi jak /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b ● keys_zone: Parametr obowiązkowy, definiujący nazwę i rozmiar współdzielonej przestrzeni pamięci, która służy do przechowywania metadanych elementu pamięci podręcznej (wszystkich aktywnych kluczy i informacji związanych z danymi w pamięci podręcznej), aby nginx mógł szybko określić, czy żądanie trafiło w pamięć podręczną lub ją nie trafiło, 1m może przechowywać 8000 kluczy, 10m 80000 kluczy, 10m 80000 kluczy. ●nieaktywny: Usuwa pliki pamięci podręcznej, do których nie uzyskano dostępu w określonym czasie, domyślnie przez 10 minut. ●max_size: Górna granica pamięci podręcznej jest ustalana, a jeśli nie jest określona, cała przestrzeń na dysku zostanie maksymalnie zajęta. ● use_temp_path: Umieść pliki tymczasowe bezpośrednio w katalogu pamięci podręcznej.
proxy_cachemy_cache; #指定用于页面缓存的共享内存 nazwa strefy jest zdefiniowana proxy_cache_path dyrektywą
proxy_cache_min_uses1; ## określa próg buforowania, liczbę razy jest zażądanie buforowane i nie buforuje żądań o niskiej częstotliwości, aby uniknąć marnotrawstwa.
proxy_cache_valid200 metrów 3 m; #为不同的响应状态码设置不同的缓存时间 jest to żądanie z kodem statusu pamięci podręcznej 200 i czasem trwania pamięci podręcznej 3 minuty
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headerNginx-Cache-Status $upstream_cache_status; #把缓存状态设置为头部信息, odpowiedz klientowi
proxy_passhttp://webservers; #设置代理转发的后端服务器的协议和地址
Użyj proxy caching Nginx, aby ignorować ciągi zapytań
(Koniec)
|
Poprzedni:Użyj narzędzia dotnet-ef, aby wygenerować skrypt rollbackNastępny:Użyj curl, aby sprawdzić wsparcie HTTP/3 na stronie testowej
|