我正在构建一个可以托管多个射箭联盟网站的rails应用程序。让我们称之为myarchery.com,并说我有2个站点:billsleague.myarchery.com和jimsleague.myarchery.com。
现在当我构建这个时,我可以:
让一个rails应用程序提供子域(basecamp样式),共享所有模型等,但在所有内容上设置帐户属性
使用自己的rails应用实例设置每个帐户
我更喜欢在一个实例中运行它们 - (B / C我可以在注册时立即设置他们的网站,只需一次登录等)。但是,我想看看是否有合理的理由独立运行它们。
我打算使用apache / passenger在Linode上运行它,如果这会影响你的答案
答案 0 :(得分:1)
使用rails3,您可以免费获得子域路由。 See http://railscasts.com/episodes/221-subdomains-in-rails-3。
我不明白为什么你需要一个帐户属性;您的正常关联应该允许您确定子对象的所有权。
每个子域运行多个实例可能看起来更简单,但是您需要付出沉重的维护费用。它只是不能很好地扩展。
答案 1 :(得分:0)
我认为如果它们是同一个站点,运行一个实例就可以了,但如果你需要以不同的方式对它们进行标记,你可以从分割不同的位中获益,并使用svn externals来加载位不同的,例如资产和布局。
无论哪种方式都可以正常工作,在一个实例中将它们全部放在一起可以更容易地维护代码。