我有一个 Django 1.6 项目(存储在 Bitbucket Git 存储库中),希望将其托管在 VPS 上。
这个想法是,当有人购买我编写的软件的副本时,我可以输入一些简单的命令,这些命令将从 Git 获取指定的代码副本,使用自己的子域创建项目的新实例(例如
我希望能够轻松创建和删除这些“实例”。
执行此操作的最佳方法是什么? 我研究过使用 Supervisor/Gnunicorn/Nginx/Fabric 等的某种组合来编写脚本。其他选项可能更严重,例如使用 Docker 或 Vagrant。我还研究了各种 PaaS 选项。
提前致谢。
(编辑:我查看了以下服务/事物:Dokku(由于数据限制,无法使用 Heroku)、Vagrant(包括 Puppet)、Docker、Fabfile、Deis、Cherokee、弗林(开发中))
最佳答案
如果我这样做(并且我对继承的 PHP 应用程序做了类似的事情),我将拥有一个允许我配置新实例的 Fabric 命令。
这可以分为必要的步骤( checkout 代码、创建数据库、同步数据库/迁移、创建 DNS 条目、启动 Web 服务器)。
我可能会做一些理智的事情,比如使用 DNS 条目作为数据库名称:或者至少使用可逆函数来做到这一点。
然后您可以将它们串在一起以轻松创建新实例。
您还需要一种方法来告诉新创建的实例需要使用哪个数据库和域名。您可以让配置脚本将一些数据写入 check out 存储库中的文件,然后 Django 在初始化阶段使用该文件。
关于python - 如何使用相同的数据库后端运行在同一服务器上运行多个实例的 Django 1.6 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21225368/