【发布时间】:2012-04-05 08:21:44
【问题描述】:
我有兴趣找出在服务器上组织 Django 应用程序的最佳实践方法。
-
你把 Django 代码放在哪里? (现在旧的)年历说 /home/django/domains/somesitename.com/ 但我也看到了放在 /opt/apps/somesitename/ 中的东西。我认为 /opt/ 想法听起来更好,因为它不是全球性的,但我以前没有见过 opt,而且大概将应用程序放在特定于站点的部署者用户主目录中可能会更好。
您是否建议让一个全局部署用户、每个站点一个用户或每个站点环境一个用户(例如,sitenamelive、sitenamestaging)。我想每个站点一个。
如何对配置文件进行版本控制?我目前将它们放在源代码控制顶层的 /etc/ 文件夹中。例如,/etc/nginc/somesite-live.conf。
如何配置服务器并进行部署?多年来,我一直反对 Chef 和 Puppet,希望基于 Python 的东西。 Silver Lining 似乎还没有准备好,我对 Patchwork 寄予厚望(https://github.com/fabric/patchwork/)。目前我们只是使用一些自定义 Fabric 脚本进行部署,但“服务器配置”由 bash 脚本和一些用于添加密钥和创建用户的手动步骤处理。我即将调查 Silk Deployment (https://bitbucket.org/btubbs/silk-deployment),因为它似乎最接近我们的设置。
谢谢!
【问题讨论】:
-
这可能会被关闭,因为这里确实有 4 个问题。我保持一切简单,并将我的所有网站都放在
/sites/www.mysite.com/下。在特定站点的文件夹中,我有一个project文件夹,其中包含需要签入 VCS 的该站点特有的所有内容,包括配置、设置、自述文件、要求等。
标签: django deployment fabric