linux:nginx:nginx_hot_cache
Организация горячего кэширования статики в nginx
Источник - http://sav.ecom24.ru/2010/04/nginx-hot-cache/
В определенных ситуациях требуется быстро раздавать фиксированный набор статических файлов, например при раздаче swf файлов flash/flex приложений. Для того, чтобы снизить нагрузку на диски и уменьшить время реакции, можно организовать горячее кэширование файлов в оперативной памяти:
Создадим хранилище для кэша на md диске:
mkdir /var/tmp/nginx chown www:www /var/tmp/nginx echo "md /var/tmp/nginx mfs rw,-s128m,late 2 0" >> /etc/fstab mount /var/tmp/nginx
Организуем локальный сервер для раздачи статики, с которого будет заполняться кэш:
server { listen 127.0.0.1:80; root /usr/local/www/site; }
В контексте http описываем зону кэширования:
proxy_cache_path /var/tmp/nginx/store levels=1:2 keys_zone=STATIC:10m inactive=1d max_size=128m;
В контексте server добавляем location для статики, которую будем кэшировать:
location ~\.swf$ { proxy_pass http://127.0.0.1:80; expires 30d; proxy_intercept_errors on; proxy_cache STATIC; proxy_cache_min_uses 1; proxy_cache_valid 1d; proxy_ignore_client_abort on; proxy_temp_path /var/tmp/nginx/tmp; proxy_cache_use_stale updating; }
Перегружаем сервер и запрашиваемые swf файлы начинают кэшироваться на md диске:
/usr/local/etc/rc.d/nginx reload
linux/nginx/nginx_hot_cache.txt · Последнее изменение: 2020/12/13 02:36 — 127.0.0.1
Обсуждение