2011-11-07 58 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