我应该如何构建一个将托管多个小型Rails应用程序的VPS



到目前为止,我一直构建VPS,专门用于在多个实例中运行单个应用程序,主要是使用Unicorn。这样,我就可以设置整个环境,使其完全适合某个特定的应用程序,并对此感到满意

但现在我需要构建一个VPS,它将托管多个小型Ruby应用程序。其中一些将是Rails和一些Sinatra。他们的流量基本为零(每天访问量不到100次),这意味着我甚至不需要一个应用程序的多个实例。

除了独角兽+nginx,我对其他服务器没有任何经验,但我认为我需要的是这样的东西。

request to app1, gets loaded into memory and serves the request
request to app2, gets loaded into memory and serves the request
request to app3, there is not enough free memory
app1 gets killed before the app3 is booted to serve the request

我知道这不是一个完美的场景,但想象一下,在一台服务器上有10到20个小应用程序,每个应用程序每天点击5次。它们并不完全需要随时启动和运行。

据我所知,Heroku在他们的免费层中做到了这一点,在那里,Dynos在一段空闲时间后被杀死,然后在收到请求时被重新加载。这基本上是我需要在自己的服务器上做的。

我建议使用Apache+Passenger。默认情况下,Passenger仅在您需要时加载应用程序,例如,第一个请求需要更长的时间(实际上与加载框架所需的时间一样长)。

如果应用程序空闲了一段预定义的时间,它将从内存中删除。

安装非常简单,添加新应用程序只需在apache配置中添加一行即可。

最新更新