【发布时间】:2014-03-15 04:56:20
【问题描述】:
我有 django 应用程序,我的文件托管在 Amazon s3 上,网站位于 Ec2 上。
现在我的 BW 成本很高,因为从 S3 下载了太多数据。
现在在数字海洋中,我可以花 10 美元获得服务器,其中 BW 2TB 可用。
我不想转移服务器,所以我正在考虑一些我不确定是否有效的设置。
我希望当用户单击下载文件时,该请求应该转到Digital ocean 上的some service,或者可能位于首先检查文件是否在 DG 服务器上可用的同一台服务器上。如果文件存在,则 DG 应提供文件以供下载,如果不存在,则将提供来自 AWS S3 的文件,然后将其复制到 DG 服务器,以便下一个请求将来自 DG 海洋服务器。所以我打算在那里使用 20GB 或更多空间来保存最常用的文件。
这样的设置是否可行,或者有更好的方法来完成我想要的
我的网站是Django Python
【问题讨论】:
-
为什么不呢?什么事拦住你了?我想不出任何可以...
someserver.com/?file=http://amazonlink.com- 检查所述链接是否存储在本地,否则从亚马逊拉取。 -
@Yuji'Tomita'Tomita 谢谢。实际上我没有做过类似的事情。所以首先我要确认它是否可能。你能指出我应该如何处理它的一些问题吗
-
您可以设置 nginx 以在本地查找文件,然后在应用程序不存在时回退到应用程序(这是带有 try_files 的常见 nginx 设置)。然后,该应用程序可以从路径中获取 URL 参数或获取参数,然后从 Amazon 中提取文件并放置在 nginx 路径中。下一个命中将由 Nginx 提供。
标签: python django amazon-web-services amazon-s3 digital-ocean