Преди да говорим за уеб кеширане, нека поговорим за CDN – мрежа за доставка на съдържание (CDN) е разпределена мрежа, изградена и покрита върху носителна мрежа, състояща се от флотилия от edge node сървъри по целия свят. CDN може да сподели натиска върху сървъра на произхода, да избегне задръстване в мрежата, да осигури разпространението на съдържанието на уебсайта в различни региони и сценарии и да подобри скоростта на достъп до ресурси. CDN кешира ресурсите на началния сървър към ускорителните възли на IDC по целия свят, така че когато крайните потребители поискат достъп и получат ресурси на сървъра за произход, те могат да получават кешираните ресурси на близките CDN възли, да подобрят скоростта на достъп до ресурси и да споделят натиска върху сървърите на произход.
Както е показано на следващата фигура:
Просто казано, когато потребителите имат достъп до някои статични ресурси, те няма да ги получат от изходния сървър след използване на CDN, а ще намерят CDN услугата, най-близка до текущия потребител, чрез данни за изчисления и връщане.
Уеб кеширащите стойности са услуга между потребителя и изходния сървър, а Nginx предоставя възможности за уеб кеширане нативно. Други включват Varnish, Squid и Cachewall, които са уеб кеширащи проксита (някои от които не предоставят само уеб кеширане).
За документацията за конфигурацията на кеша на Nginx:Входът към хиперлинк е видим.
Първо, когато за първи път достъпваме ресурс чрез кешираща услуга, кеш състоянието еГОСПОЖИЦА, ще поиска от Origin сървъра да го изтегли, както е показано на фигурата по-долу:
Когато достъпим ресурса за втори път, ще открием, че ресурсът е кеширан и състоянието еУДАР, както е показано на фигурата по-долу:
Основните конфигурационни параметри на 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, за да игнорирате низовете на заявки
(Край)
|