如何创建一个多应用程序Ruby on Rails共享环境

时间:2015-04-03 16:15:08

标签: ruby-on-rails ruby nginx

我希望创建一个共享托管环境,允许多个RoR应用程序彼此隔离(以及底层操作系统),并根据需要运行不同版本的RoR。

我的问题是,如果没有不得不求助于OpenVZ / Virtualisation,这可以做到吗?

如果是这样,以下方法是否合适 - 使应用程序彼此之间以及操作系统之间的隔离需要什么?

  • NGinx,负载均衡的单个实例
  • Unicorn,由NGinx开始处理请求的多个实例(能够运行不同版本的RoR

1 个答案:

答案 0 :(得分:0)

(Rbenv或RVM)和Bundler允许隔离不同Rails应用程序的gem。 所以不会有麻烦。

每个rails应用程序都有自己的Unicorn实例(puma,thin,无论如何)。

Nginx将为每个rails应用程序提供单独的基于域名的虚拟主机,并将请求转发给上游(Unicorn / Puma)。

每个rails应用程序也应该在数据库服务器上有单独的数据库。

所以我没有看到隔离多个rails应用程序的任何问题。

要获得额外的隔离,您可以使用Docker,因此每个应用都将在单独的容器中运行。