Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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