我正在嘗試構建一個CMS,我可以使用它來託管多個站點。我知道我最終將通過此項目重新發明一百萬次,因此我正在考慮擴展現有的開源Ruby on Rails CMS以滿足我的需求。如何擴展現有的Ruby on Rails CMS以託管多個站點?
這些需求之一是能夠運行多個站點,而只使用一個代碼庫。這樣,當我想要更新時,我可以在一個地方進行更新,並且所有網站都會反映更改。我認爲這可以通過運行應用程序的多個實例來擴展。
我認爲我可以使用域/子域來確定顯示哪些數據。例如,某人前往subdomain1.mysite.com,應用程序在數據庫中查找subdomain1的內容。
我看到的問題是大多數預先構建的CMS解決方案,它們僅被設計爲託管一個站點,包括我想使用的一個站點。所以數據庫的結構可以與一個站點一起工作。然而,我的想法是我可以通過爲每個站點「創建一個新數據庫」來克服這個問題,然後根據上面提到的基於域/子域指定要連接的數據庫。
我想在Heroku上託管這個,所以我想知道我的選擇可能是什麼。我對Amazon S3或Amazon SimpleDB並不是很熟悉,但我覺得有某種「雲數據庫」可以使這個解決方案更真實,而不是爲每個站點創建一個新的MySQL數據庫。
您認爲如何?我在想這個錯誤的方式嗎?你有什麼建議在這方面提供?