NGINX: Кэш, когда X-Accel-Expires установлен

Предположение крона выхода Linux (крон ISC иначе vixiecron, на самом деле),

@reboot /path/to/memcached/start/script

запустит memcached однажды при запуске. у человека 5 crontab есть больше деталей.

5
задан 26 December 2012 в 01:33
3 ответа

Чтобы кэшировать данные, сначала вам нужно создать путь кэширования прокси в контексте http , например:

proxy_cache_path    /var/cache/nginx/site1    levels=1:2    keys_zone=site1:10m max_size=1G;

Затем вы также можете необязательно определить ключ кэша прокси . Любой запрос, который имеет тот же ключ кеша, что и кешированная запись, получит кешированный ответ, если он есть. Но значение по умолчанию уже может быть достаточно хорошим, так что это совершенно необязательно.

Затем, чтобы включить кеш в данном контексте, просто укажите, какой кеш следует использовать, например:

proxy_cache    site1;

Согласно описанию прокси-кеш действителен директивой , nginx уже соблюдает X-Accel-Expires и действует в соответствии с ним, так что на этом в основном все готово. Поскольку вы не хотите кэшировать ничего, что не включает X-Accel-Expires , эффективно расходуя кеш.


Также обратите внимание, что nginx, скорее всего, не проксирует заголовок X-Accel-Expires - он использует его только для внутренних целей, и IIRC не может передавать этот заголовок вперед. Чтобы изменить такое поведение, вы также должны явно попросить его проксировать (на случай, если вы хотите отладить свой контент через nginx и посмотреть, как ваше приложение устанавливает заголовок и т. Д.):

proxy_pass_header "X-Accel-Expires";
7
ответ дан 3 December 2019 в 01:19

I Думаю, причина в том, что кеш определен, но не включен - proxy_cache cache; отсутствует.

0
ответ дан 3 December 2019 в 01:19

В российском ИТ-блоге есть хорошее руководство об использовании заголовка X-Accel-Expires в nginx. Думаю, в вашем случае это может быть очень полезно.

1
ответ дан 3 December 2019 в 01:19

Теги

Похожие вопросы