我想使用 juju 部署我的 Django 应用程序。快速浏览 Charm 商店后,我注意到有两个不同的 Charm 可以执行此操作。一个简单命名python-django
,另一个称为django-rainbow
。
魅力python-django
描述如下:
此 charm 将安装 Django。它还可以从模板或版本控制系统安装您的 Django 项目及其依赖项。它还可以将您的项目链接到数据库并同步架构。此 charm 还附带一个 Fabric fabfile,以云感知方式与部署进行交互。
就像django-rainbow
这样:
Django-rainbow 是一个功能齐全的 Django Web 项目部署工具。通过维护与项目相关的单个配置文件,可以将多个项目部署到单个实例上。Django-rainbow 是一个安全便捷的开发或生产 Web 服务器管理平台。网站使用基于 mercurial 的版本控制即时更新。您的 django-rainbow 项目文件可以存储以备将来使用,允许任何使用 juju 的人以故障安全的方式开发和部署您的项目,而不会产生冲突的结构。Django-rainbow 是一个“设置后就忘了”的平台,将开发问题留给开发人员 :)
它们之间有什么区别?为什么我会选择其中一个?
答案1
它们之间有什么区别?为什么我会选择其中一个?
这两种饰物在功能上相似,但在完整性上有所不同。
数据库支持:
django-rainbow 仅支持 mysql 并且不支持关系,而是安装在与 django 项目相同的单元中。
python-django 目前仅支持 postgresql。但 mongodb 和 mysql 正在开发中(请参阅https://code.launchpad.net/~patrick-hetu/+junk/python-django-mysql-support)
WSGI(Web服务接口):
django-rainbow 支持 apache2,您需要在 charm 的配置文件中手动配置您的 vhost。
python-django 与 wsgi 关系配合使用,目前只有一个 Gunicorn 下属实现了该接口。
仅在 django-rainbow 魅力中:
- 您可以配置您的 django.contrib.sites 应用程序的域名。
仅在 python-django 魅力中:
- 网站关系(例如用于负载平衡)
- Memcached 关系
- 升级钩子(升级包、requirements.txt、pip 等)
- 一个与 Juju 兼容的 fabfile,用于与你的 Django 部署进行交互
- 它可以通过应用程序下属的超级按钮进行扩展(参见 README 中的部分)
低级:
- django-rainbow charm 是用 bash 编写的,而 python-django charm 是用 python 编写的。