用于托pipe多个应用程序的VPS设置(通过虚拟机?)

首先,我不是一个pipe理员,所以如果我的问题有点明显/跛脚 – 我只是一个ruby程序员,他想在他的服务器上托pipe几个应用程序;)

可以说,我有3个应用程序,我想在我的VPS上托pipe。 我想尽可能分开他们所有(单独的ruby / postgres版本等)。

目前,我正在考虑使用哪种devise来实现这一点。 最近,我尝试了stream浪汉 ,我真的很喜欢把所有的应用程序放在不同的虚拟机上。

我的问题是,如果这不是过度工程,使这个网站在不同的虚拟机? 难道有人指出,只有3个用户,在本地安装ruby / postgres,这种方法与方法的一些主要优点/缺点? 我看到这个:

  • 使用虚拟机方式,我完全分离 – 我可以重新启动/重新安装一个虚拟机,而不会影响另一个虚拟机。
  • 如果一台虚拟机发生故障,不应该对另一台虚拟机产生性能影响
  • 在开发和生产环境中,我可以拥有完全相同的环境
  • VM方法需要更多的内存/ CPU才能运行3个操作系统

我的另一个问题是关于路由请求:

假设我将在我的VPS上安装nginx,并且我有4个域连接到这个:

  • example.com和foo.com => App1
  • bar.com => App2
  • other.io => App2
  • asd.bar.com => App3

有没有简单的方法来设置路由? 我梦想着某种configuration文件,我可以指定哪个域应指向哪个应用程序…

如果没有,有人可以发布一些资源,我可以find有关该路由的东西吗? (我真的想自动化这个,所以添加另一个站点/ VM也应该设置路由)

我build议看看http://blog.phusion.nl/2010/09/21/phusion-passenger-running-multiple-ruby-versions/

它使用Passenger standalone作为反向代理来完成此操作。

似乎也有一些人用nginx和thin来完成这个。

我不会亲自推荐VM,因为RAM通常是限制因素,而且大多数VPS在这方面已经很短了。