【发布时间】:2011-09-19 06:47:18
【问题描述】:
我有一个基于 Django 和 Python 2.6 构建的新网站,我已将其部署到云端(符合流行语且 Amazon 微型 EC2 实例是免费的!)。
这是我的详细笔记:https://docs.google.com/document/d/1qcZ_SqxNcFlGKNyp-CXqcFxXXsKs26Avv3mytXGCedA/edit?hl=en_US
由于这是一个新网站(并且想使用最新最好的),我在 Supervisor 之上使用了 Nginx 和 Gunicorn。
使用 YUM / easy_install 从主干安装的所有软件。
我的数据库是 Sqlite(目前 - 不确定下一步该去哪里,但这不是问题)。也在待办事项列表中:virtualenv + pip。
到目前为止一切顺利。
我在 SVN 中的代码。我写了一个简单的 fabfile 来部署 - 检查最新的代码并通过 Supervisor 重新启动 Gunicorn。我将我的 DNS 名称与弹性 IP 挂钩。
它有效。
我的问题是,如何在不中断服务的情况下更新网站?当我运行我的小更新脚本时,该网站的用户会收到 404s / 500s。
有没有办法在不添加另一台服务器的情况下做到这一点(价格是关键)?
我希望有一个登台系统(在不同的端口上?),并在登台和生产之间无缝切换。在同一(免费)服务器上。通过织物。
我怎么做?运行两个站点的 Nginx 是否相同?我可以在不影响生产的情况下升级暂存吗? fabfile 会是什么样子?目录树会是什么样子?
谢谢!
塔尔。
相关:
【问题讨论】:
-
对于任何阅读“EC2 Micro 是免费的”的人:它不是真的(至少不再是)。前 750 小时免费,大约是 20 美元的报价。结帐其他ASW Free Offers..
标签: django svn nginx amazon-web-services gunicorn