【发布时间】:2011-09-24 16:07:52
【问题描述】:
[我正在使用 AWS,但我认为这个问题与所有 CDN 有关]
我希望将我的 Django 服务器无缝部署到 AWS 云。
所有静态内容(例如图像、javascript 等)都转到 Amazon Cloudfront CDN。
问题是我试图使升级尽可能“原子”,而我几乎无法控制 CDN 对象失效的时间。
根据 TFM,解决方案是对我的对象进行版本控制,即重命名它们并添加版本 ID,例如箭头_v123.png。显然,如果新服务器指向 arrow_v124.png,我可以完全控制整个分发的时间。
我查了一下,据我所知,大男孩们正在这样做——Facebook 静态内容对象有一个散列名称(和路径)。
但我如何在 DJANGO 中自动执行此操作?
我需要以某种方式:
- 生成新版本号
- 更改所有静态对象的所有名称
- 更改所有模板和 python 代码以使用这些新名称
或者以某种方式与开发过程相结合:
- 我编辑图片或 javascript 文件
- 我保存它,它得到了一个新名字?!?!并且所有对它的引用都会自动更正?!?!
我正在使用 Fabric 进行部署,因此我需要以某种方式修改我的 fabfile。
请帮忙。
塔尔。
【问题讨论】:
标签: python django amazon-web-services cdn fabric