是否可以在同一个域下托管多个 django 项目?

Aid*_*tis 2 deployment django virtualenv django-cms

我需要将不同的Django项目与Django CMS放在同一个域下,例如:

  • example.com/2012/
  • example.com/2014/

通常我对每个域/项目使用 virtualenv 和 mod_wsgi 。我将需要不同的数据库、媒体文件和 Django 版本。

此处不能选择将项目放在不同的子域下。

可以做吗?我应该如何设置服务器?有什么我应该知道的注意事项吗?

Sim*_*ser 5

是的。

您可以配置 Apache / mod_wsgi 来重写 URL 并将它们定向到不同的 WSGI 文件。这允许您为每个站点设置完全不同的 virtualenvs、数据库和 Django 版本。例如:

WSGIScriptAlias /2012/ /location/to/my/files/website1.wsgi
WSGIScriptAlias /2014/ /location/to/my/files/website2.wsgi
Run Code Online (Sandbox Code Playgroud)

然后,每个 WSGI 文件都可以使用自己的 Django 版本和设置直接执行特定 virtualenv 中的文件。

如果您可以放松需要不同 Django 版本的限制,那么您可以使用该django.contrib.sites框架。这允许您定义多个Site对象,每个“网站”一次。然后,您可以在运行 Django 的一个安装时将内容与每个站点关联。