如何设置一个nginxcaching策略,首先尝试amazon s3,然后memcache,并做一个后备miss?

我有一个大的网站,很多网页,几乎从来没有改变,现在我使用两个memcache服务器(亚马逊elasticache),但这真的很贵。

这就是为什么这个文件,几乎从来没有改变,我想上传到amazon s3和closures1个memcache服务器。

这是我的conf;

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 } 

我不知道为什么,但configuration不能在最后的回退工作; 如果我有一个亚马逊S3打它的作品,如果我有一个亚马逊S3错过和一个memcache击中它的作品,但如果我有一个亚马逊S3错过然后一个memcache错过,当它试图解决拉斯回退失败。

我也在使用亚马逊的s3导火索http://code.google.com/p/s3fs/,而不是代理通行证,我认为这将是更容易执行,我也会less性能?

只是从官方文件引用:

recursive_error_pages

默认: recursive_error_pages off;

启用或禁用使用error_page指令执行多个redirect。