RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


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