我希望创建一个共享托管环境,允许多个RoR应用程序彼此隔离(以及底层操作系统),并根据需要运行不同版本的RoR。
我的问题是,如果没有不得不求助于OpenVZ / Virtualisation,这可以做到吗?
如果是这样,以下方法是否合适 - 使应用程序彼此之间以及操作系统之间的隔离需要什么?
答案 0 :(得分:0)
(Rbenv或RVM)和Bundler允许隔离不同Rails应用程序的gem。 所以不会有麻烦。
每个rails应用程序都有自己的Unicorn实例(puma,thin,无论如何)。
Nginx将为每个rails应用程序提供单独的基于域名的虚拟主机,并将请求转发给上游(Unicorn / Puma)。
每个rails应用程序也应该在数据库服务器上有单独的数据库。
所以我没有看到隔离多个rails应用程序的任何问题。
要获得额外的隔离,您可以使用Docker,因此每个应用都将在单独的容器中运行。