python - Django 部署最佳实践

标签 python django deployment

<分区>

Safaribooksonline.com 有一段来自 Jacob Kaplan-Moss 的视频 [1],介绍如何部署 Django 应用程序。该视频来自 2010 年。它引用了一个网站 [2],该网站列出了许多相关方面。 现在研讨会提到虚拟机、vagrant(作为部署环境)或 Fabric 和其他用于部署自动化的工具。

我想知道从那时起发生了多少变化。我可以想到 Docker 取代 Vagrant。或 Heroku 或 AWS 而不是租用专用物理服务器进行部署(或虚拟机)。或者使用 Ansible 或 Chef/Puppet 而不是 Capistrano 或 Fabric。

但是还有什么变化呢?什么仍然相关?有什么不同之处? 2017 年部署生产就绪 Django 应用程序的最新技术水平如何。

谁能给我指出好的博客/书籍/教程?


[1] “Django 部署研讨会”,https://www.safaribooksonline.com/library/view/django-deployment-workshop/9781449396442/

[2]“现代网站基础设施”,https://randomfoo.net/2009/01/28/infrastructure-for-modern-web-sites

最佳答案

老实说,这个问题的答案会非常自以为是,并且在不断变化的 devops 领域定义最佳实践可能具有挑战性。有些东西有一天是最佳实践,明天就会有人发表博客文章说那太糟糕了而且已经过时了。

部署的方法有很多种,但这都取决于您需要什么、您希望自动化程度如何以及需要什么级别的定制。

  • 例如,在我现在的位置,我们使用 CircleCI、Heroku、Sentry 和 防滚架。

  • 我以前的一位客户(三个月前)希望我们使用 CodePipeline,其中包括 CodeCommit、CodeBuild、CodeDeploy AWS。

  • 最近也在做一个涉及Docker和flexible的项目 来自 Google App Engine 的环境。

  • 对于我的个人项目,我只使用 Fabric 和 Heroku,但我真的很想尝试新的 CodeStar 或 AWS 上的任何名称。

定义你想要什么,你想如何定制它,然后简单地去做。如果有什么不奏效,就改变它。事情变得更容易做,更换管道中的一个项目可以在几分钟内发生,而不是像以前那样需要几天/几周。如今,每个供应商都以某种方式支持 Docker 和 CI。

YMMV.

关于python - Django 部署最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43688601/

相关文章:

python - 在数据帧上使用 merge_first 并以重复日期作为索引

asp.net - 错误 : "The configuration section ' system. webServer/management/delegation' 无法读取,因为它缺少架构

python - 如何在动态 Django ModelChoiceField 中设置初始值?

python - 如何执行 DJANGO 的 SELECT COUNT(*) GROUP?

python - 所有 'SearchIndex' 类必须对 'text' 字段使用相同的 'document=True' 字段名。违规索引为 '<personal.search_indexes.PostIndex

hadoop - 将工件部署到 Hadoop 集群

php - 自动部署 PHP 应用程序的最佳流程/应用程序是什么?

python - 在 bool numpy 数组中找到 True 前半部分的最佳方法是什么?

python - 为什么我可以在测试中访问 c​​ollections.abc,但不能在生产中访问?

python - 如何将 Date 对象传递给 mongo 数据库,它在传递 mongo 数据库后转换为 Int64 。如何使用 pymongo 做到这一点