Коли ви ввімкнули кешування в Nginx Plus, він зберігає відповіді на кеш-диску, і вони надалі використовуються для відповіді клієнтам, не проводячи проксі-запит кожного разу з однаковим вмістом. Кешування Nginx Plus має більше можливостей, включаючи найкорисніші функції, такі як очищення кешу, відкладене кешування та динамічне кешування вмісту.
У цій статті ми дізнаємося більше про кешування, наприклад, як увімкнути та вимкнути кешування на сервері Nginx у системі Linux.
Як увімкнути кешування?
У верхньому рівні контексту http включіть директиву proxy_cache_path, щоб увімкнути кешування. Перший параметр, який є локальним шляхом до файлової системи для кешованого вмісту, і параметр keys_zone, що визначає розмір та назву зони спільної пам'яті, є обов’язковими. Останній параметр, keys_zone, зберігає метадані кешованих елементів:
http..
proxy_cache_path / data / nginx / cache keys_zone = one: 10m;
Вам потрібно включити директиву proxy_cache, щоб визначити такі елементи, як (тип протоколу та розташування або адреса віртуального сервера) у контексті http. За допомогою якого ви хочете кешувати відповіді сервера, згадайте ім'я зони, яке визначається параметром keys_zone до директиви proxy_cache_path (яке в цьому випадку є одним):
http..
proxy_cache_path / data / nginx / cache keys_zone = one: 10m;
сервер
proxy_cache mycache;
Розташування /
proxy_pass http: // localhost: 8000;
Відзначається, що на загальну кількість кешованої відповіді не впливає розмір, який визначається параметром keys_zone. Усі кешовані відповіді окремо самі зберігаються у певних файлах із копією метаданих у вашій файловій системі. Однак, якщо ви хочете обмежити загальну кількість кешованих даних відповідей, тоді ви можете включити параметр max_size до директиви в proxy_cache_path.
Як обмежити або вимкнути кешування?
Усі відповіді зберігаються у кеші необмежений час. Ці відповіді видаляються лише тоді, коли вони перевищують визначений максимальний розмір та час тривалості з моменту останнього запиту. Але ви можете встановити відповідно до своїх зручностей, скільки часу ці кешовані відповіді вважаються дійсними або навіть якщо вони використовуються різними директивами на сервері , http або в контексті розташування . Однак, щоб обмежити кешовані відповіді, які вважаються дійсними, потрібно включити директиву з ім'ям proxy_cache_valid.
Давайте визначимо концепцію обмеження кешу на прикладі. У наведеному нижче прикладі 200 чи 302 кодових відповідей вважаються дійсними протягом 10 хвилин, а 404 відповіді дійсні до 1 хвилини.
proxy_cache_valid 200 302 10м;proxy_cache_valid 404 1м;
Отже, ви також можете визначити дійсність кешованих відповідей часу для всіх кодів стану, щоб визначити параметр "будь-який", який ви також можете побачити в наведеному нижче рядку коду:
proxy_cache_valid будь-які 5 м;Існує певний набір умов, за яких Nginx не надсилає кешовані відповіді клієнтам, тому включіть директиву proxy_cache_bypass. Кожен параметр у наведеному нижче прикладі визначає умови та має ряд змінних. Якщо принаймні один параметр не дорівнює нулю '0' або не порожній, Nginx не знаходить відповіді в кеші і негайно надсилає запит на сервер-сервер.
proxy_cache_bypass $ cookie_nocache $ arg_nocache $ arg_comment;За умови, коли ви хочете, щоб Nginx не кешував відповідь. Потім ви включите директиву proxy_no_cache і визначите всі наступні параметри:
proxy_no_cache $ http_pragma $ http_authorization;Висновок
Кешування надає більше можливостей на сервері Nginx. У цій статті ми також дослідили, як можна ввімкнути або вимкнути кешування, включаючи всі директиви та параметри. Щоб вивчити більше, ви можете отримати додаткову допомогу в Інтернет-ресурсах. Сподіваюсь, вищевказана стаття про кешування буде для вас інформативною.