Я новичок в nginx, поэтому я не уверен, что это возможно.nginx - создать несколько путей кэш-памяти
Однако, я пытаюсь создать короткие, долго и Никогда не кэши для сайтов использовать.
я наивно пытался установить их в моем HTTP блок:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=short:10m;
proxy_cache short;
proxy_cache_key "short:$scheme$proxy_host$uri$is_args$args";
proxy_cache_valid 2m;
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=long:10m;
proxy_cache long;
proxy_cache_key "long:$scheme$proxy_host$uri$is_args$args";
proxy_cache_valid 1h;
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=day:10m;
proxy_cache never;
proxy_cache_key "long:$scheme$proxy_host$uri$is_args$args";
proxy_cache_valid 1d;
proxy_cache off;
После перезагрузки это выдает следующее сообщение об ошибке:
[emerg]: "proxy_cache" directive is duplicate in
Как я могу установить различные пути кэша, чтобы разделить между мои виртуальные хосты?
Спасибо. Чтобы быть ясным, невозможно предопределить несколько кэшей прокси-серверов? Вы должны определить только одно или переопределить их для vhost/server? –
Proxy_cache_path можно использовать несколько раз в блоке http. Proxy_cache и proxy_cache_valid могут использоваться в блоках местоположения и блоках серверов, но не дублировать директивы в этих блоках. –
Хорошо. Я пытался предопределить несколько разных кешей, основанных на долговечности, и затем переключаться между ними для разных * местоположений *. Однако, похоже, это невозможно. Кажется, что нужно просто определить один кеш, а затем изменить долговечность (используя proxy_cache_valid) для разных * местоположений *. –