2011-11-07 137 views
2

我是新来的Django ......Django - 带有Apache虚拟主机的中间件或子域的子域?

我要开始一个项目,将有子域,但我有点困惑这个问题...

我有一个网站服务西班牙,其他现任英国和其他服务美国,我将只使用一个域和子域3,就像这样:

主要领域:

mysite.com 

子域:

es.mysite.com 
uk.mysite.com 
us.mysite.com 

这3个不同的网站在未来可能不得不扩展,每个在一个专用的服务器,但现在这3个网站将使用相同的服务器。

在之前的问题中,我被告知要使用中间件解决方案(http://thingsilearned.com/2009/01/05/using-subdomains-in-django/),但我不知道是否这样我需要。有了这个解决方案,如果我需要扩大专用服务器的网站,我认为每台服务器都无法工作...

可以定义Apache Virtual Hosts中的子域吗?你认为如何在Apache虚拟主机上使用3个不同的Django项目来完成这项工作?这是一个更好的解决方案,或者我应该使用中间件?

最好的问候,

+0

我认为解决方案必须来自apache虚拟主机。也许,在将来,您希望按域分配多个服务器(负载平衡) – danihp

回答

2

如果你正在寻找最终扩展子域到不同的服务器中,简单的解决方案可能会被你的Web服务器上使用虚拟主机。

每个主机都可以使用单独的设置模块(它们都可以从公共设置模块导入*,更改特定于该域的任何数据库/语言设置)。

部署这种方式意味着您有更高的内存使用量,因为您将为每个域处理单独的实例,但这听起来不像是您和您的长期方向的问题。它也使事情变得更简单,使用中间件可能会变得混乱(特别是使用测试等)。

+1

当您发布它时,请对此效果进行评论。我唯一的补充可能是在同一台服务器上部署每个站点与不同的用户;推动代码更新会有点额外的工作,但将这些站点分开以分离机器可能会更快。 – kungphu