Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 2246|Ответ: 0

[Веб] Кэширование веб-ресурсов Nginx (CDN)

[Скопировать ссылку]
Опубликовано 17.07.2024 22:10:31 | | | |
Прежде чем говорить о веб-кэшировании, давайте поговорим о CDN — сети доставки контента (CDN) — это распределённая сеть, построенная и покрытая поверх сети носителя, состоящая из флота крайних узлов по всему миру. CDN может разделять нагрузку на исходный сервер, избегать сетевых перегрузок, обеспечивать распространение контента сайта в различных регионах и сценариях, а также повысить скорость доступа к ресурсам. CDN кэширует ресурсы исходного сервера к узлам ускорения IDC по всему миру, чтобы при запросе доступа и получения ресурсов исходного сервера, они могли получить кэшированные ресурсы на ближайших узлах CDN, повысить скорость доступа к ресурсам и разделить нагрузку на исходные серверы.

Как показано на следующем рисунке:



Проще говоря, когда пользователи получают доступ к некоторым статическим ресурсам, они не получают их с исходного сервера после использования CDN, а находят сервис CDN, ближайший к текущему пользователю, посредством вычислений и возвратных данных.

Веб-кэширование — это сервис между пользователем и исходным сервером, а Nginx предоставляет возможности веб-кэширования нативно. Другие включают Varnish, Squid и Cachewall — веб-кэширующие прокси (некоторые из которых не только предоставляют веб-кэширование).

О документации по конфигурации кэша Nginx:Вход по гиперссылке виден.

Во-первых, когда мы впервые получаем доступ к ресурсу через сервис кэширования, состояние кэша выглядитМИСС, запросит исходный сервер вытащить его, как показано на рисунке ниже:



Когда мы получаем доступ к ресурсу во второй раз, мы обнаруживаем, что ресурс кэширован, и состояние —УДАРИТЬ, как показано на рисунке ниже:



Основные параметры конфигурации Nginx следующие:

Основные параметры:

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

●path: обязательный параметр, указывающий путь хранения кэшированных файлов.
●levels: Определяет иерархию каталога кэша. Каждый слой может быть представлен 1 (до 16 вариантов, 0-f) или 2 (до 256 вариантов, 00-ff), разделёнными : в центре.
proxy_cache_path /data/nginx/cache;  Это означает, что у всех кэшей есть только один каталог, например /data/nginx/cache/d7b6e5978e3f042f52e875005925e51b
proxy_cache_path /data/nginx/cache levels=1:2;  Это означает, что кэш является каталогом второго уровня (с каталогами 16*256=4096), например, /data/nginx/cache/b/51/d7b6e5978e3f042f52e875005925e51b
● keys_zone: Обязательный параметр — определить имя и размер общей области памяти, которая используется для хранения метаданных элемента кэша (все активные ключи и информация, связанная с кэшированными данными), чтобы nginx мог быстро определить, попадает ли запрос в кэш или промахивается; 1M может хранить 8000 ключей, 10M — 80000 ключей, 10M — 80000 ключей.
●неактивный: удаляет кэш-файлы, к которым не были доступны в указанное время, по умолчанию на 10 минут.
●max_size: Верхний предел кэш-памяти установлен, и если он не указан, максимум всё дисковое пространство будет использовано.
● use_temp_path: Разместить временные файлы непосредственно в каталог кэша.


proxy_cachemy_cache;      #指定用于页面缓存的共享内存 название зоны определяется proxy_cache_path директивой
proxy_cache_min_uses1;   ## определяет порог кэширования, сколько раз кэшируется запрос и не кэширует низкочастотные запросы для предотвращения потерь.
proxy_cache_valid200 3 м;  #为不同的响应状态码设置不同的缓存时间 это запрос с кодом статуса кэша 200 и длительностью кэша 3 минуты
proxy_cache_key$request_uri; #指定缓存文件的key为请求的URI
add_headernginx-cache-status $upstream_cache_status;  #把缓存状态设置为头部信息, ответь клиенту
proxy_passhttp://webservers;  #设置代理转发的后端服务器的协议和地址

Используйте кэширующее прокси Nginx для игнорирования строк запроса

(Конец)




Предыдущий:Используйте инструмент dotnet-ef для генерации скрипта отката
Следующий:Используйте curl, чтобы проверить поддержку HTTP/3 тестового сайта
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com