2015-04-03 43 views
0

我期待创建一个共享主机环境,允许多个RoR应用程序彼此很好地隔离(和底层操作系统),运行不同版本的RoR作为需要。如何创建一个多应用程序的Ruby on Rails共享环境

我的问题是可以这样做没有不得不求助于OpenVZ /虚拟化?

如果是这样,那么下面的方法是否合适 - 将应用程序与其他操作系统隔离开来需要做什么?

  • NGinx,用于负载平衡
  • Unicorn单个实例,多个实例开始通过NGINX来处理请求(能够运行不同版本的RoR
+2

我在生产环境中使用RVM,带有Apache和Passenger,带有几个Rails版本和不同的gemset。 – pierallard 2015-04-03 16:23:07

+0

@ForgetTheNorm RVM看起来非常好,谢谢你。出于兴趣,你的系统的哪一部分处理资源限制......你是否使用Passenger Enterprise? – James 2015-04-03 16:40:28

+0

RVM不管理资源限制。它只是一个ruby环境的管理者。事实上,你的数据库deamon也是这样做的,Passenger也是,Apache也是。 – pierallard 2015-04-03 17:01:50

回答

0

(Rbenv或RVM)和捆扎机的允许隔离不同的Rails应用程序的宝石。 所以不会有任何问题。

每个rails应用程序将有它自己的独角兽实例(美洲狮,薄,无论)。

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

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

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

对于额外的隔离,您可以使用Docker,因此每个应用程序将运行在单独的容器中。

+0

非常感谢这些信息 - 正是我所追求的。 – James 2015-04-03 19:43:48

相关问题