我正在尝试构建一个可用于托管多个站点的 CMS。我知道我最终会在这个项目中重新发明轮子一百万次,所以我正在考虑扩展现有的开源 Ruby on Rails CMS 以满足我的需求。
其中一项需求是能够运行多个站点,同时只使用一个代码库。这样,当我想要进行更新时,我可以在一个地方进行更新,并且更改会反映在所有站点上。我认为这将能够通过运行应用程序的多个实例来扩展。
我认为我可以使用域/子域来确定要显示哪些数据。例如,有人访问 subdomain1.mysite.com,应用程序在数据库中查找 subdomain1 的内容。
我看到的问题是大多数预先构建的 CMS 解决方案,它们仅设计用于托管一个站点,包括我想要使用的站点。因此,数据库的结构可以与一个站点一起使用。但是,我有一个想法,我可以通过为每个站点“创建一个新数据库”来克服这个问题,然后如上所述根据域/子域指定要连接的数据库。
我正在考虑在 Heroku 上托管这个,所以我想知道我的选择可能是什么。我对 Amazon S3 或 Amazon SimpleDB 不是很熟悉,但我觉得有某种“云数据库”可以让这个解决方案更加现实,而不是为每个站点创建一个新的 MySQL 数据库。
你怎么看?我在想这个错误的方式吗?您在这方面有什么建议?