Назад | Перейти на главную страницу

Как я могу настроить стратегию кеширования nginx, которая сначала пробует amazon s3, затем memcache и делает откат при промахе?

У меня большой сайт с множеством страниц, которые почти никогда не меняются, сейчас я использую два сервера кэша памяти (amazon elasticache), но это действительно дорого.

Вот почему для этих файлов, которые почти никогда не меняются, я хочу загрузить их на amazon s3 и выключить 1 сервер memcache.

Вот моя конф;

location ~ /longterm/(.*){
   proxy_pass http://amazonS3bucket;
   proxy_intercept_errors on;
   proxy_next_upstream http_404;
   error_page 404 503 = @fallback_memcached
}

location @fallback_memcache {
   set $memcached_key $uri;
   memcached_pass     name:11211;
   error_page         404 @fallback;
}

location @fallback {
   try_files $uri $uri/index.html
}

Не знаю почему, но конфигурация не работает с последним откатом; если у меня есть хит amazon S3, он работает, если у меня промах amazon S3 и попадание в кэш памяти, он работает, но если у меня промах amazon S3, то промах кэша памяти, когда он пытается разрешить резервное копирование las, терпит неудачу.

Я тоже думаю в использовании предохранитель amazon s3 http://code.google.com/p/s3fs/ вместо прокси-доступа, я думаю, было бы проще реализовать, я бы также был менее производительным?

Просто цитата из официальная документация:

recursive_error_pages

дефолт: recursive_error_pages off;

Включает или отключает выполнение нескольких перенаправлений с помощью error_page директива.