Nginx proxy cache или серверное кэширование Nginx — позволяет сохранять на сервере результаты выполнения запросов и отдавать их повторно другим пользователям.
Nginx proxy cache, серверное кэширование
В nginx.conf в основном блоке http задается директива, которая определяет путь для сохранения файлов, keys_zone для кэша, время кэгирования и максимальный размер.
mcedit /etc/nginx/nginx.conf
proxy_cache_path /var/cache/nginx levels=2 keys_zone=one:50m max_size=150m;
Каталог нужно создать и сделать владельцем пользователя, из под которого работает веб-сервер
mkdir /var/cache/nginx
chown www-data: /var/cache/nginx
Могут задаваться и другие опции, приведены те, что используются чаще всего.
Остальные директивы добавляются обычно в блок server в виртуальном хосте или в один из блоков location.
proxy_cache one;
proxy_cache_valid 200 301 302 304 15m;
proxy_cache_lock on;
proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_ignore_headers «Cache-Control» «Expires»;
proxy_cache_key «$scheme$host$request_uri»;
Если сайтов много все директивы можно вынести в отдельный конфигурационный файл, который просто подключить через include. Это позволит быстро вносить изменения, которые затронут все сайты. Иначе править директивы придется для каждого.
После добавления директив нужно перезапустить веб-сервер
nginx -s reload
Читайте про браузерное кэширование.