2011-07-09 44 views
3

我正在构建一个Rails应用程序,它将托管多个射箭联盟网站。让我们称之为myarchery.com,并说我有2个网站:billsleague.myarchery.com和jimsleague.myarchery.com。通过导轨托管多个站点 - 我应该使用一个导轨实例还是很多?

现在,当我建立这个我可以:

  • 有一个Rails应用服务立子域(大本营风格),共享所有模型等,但把一个帐户属性上的一切

  • 设定每个帐户了自己的Rails应用程序实例

我喜欢跑他们都在一个实例 - (B/CI可以立即成立自己的网站时,他们注册,拥有单一登录等)。然而,我想看看是否有合法的理由独立运行它们。

我打算使用Apache /乘客上的Linode运行此,如果这会影响你的答案

回答

1

使用rails3,您可以免费获取子域路由。 See http://railscasts.com/episodes/221-subdomains-in-rails-3

我不明白你为什么需要一切帐户属性;您的正常关联应该允许您确定子对象的所有权。

为每个子域运行多个实例可能看起来更简单,但是您将在维护中付出沉重的代价。它只是不能很好地扩展。

+0

我的问题是,通过子域名运行20多个网站的效率可能会低于将它们分成较小的实例。只是想着任何可伸缩性问题。 –

+1

让每个应用程序独立运行可能有助于扩展,因为可以很容易地识别最耗费资源的站点并将它们卸载到他们自己的服务器上,但是这样做的折衷将会是难以维护并推送更新。 – SaucyK

0

我认为,如果他们是同一个站点,运行一个实例是好的,但如果你需要对他们不同的是,你可以从分裂不同的位开始获益,比如说svn外部数据加载不同的位,比如资产和布局。

无论哪种方式都可以正常工作,让它们在一个实例中可以更容易地维护您的代码。