Rails VPS 托管有多种形式。

最便宜的是使用“云”VPS 提供商,目前包括 DigitalOcean、Amazon EC2、Hetzner、Vultr 等。

这些提供商能够以低至 5 美元/月的价格提供独立于基础架构的服务(Vultr 甚至正在试验 2.50 美元/月,直到用完为止)。

关键是它们非常便宜,并且提供了一种在您拥有的基础架构上运行基于 Ruby on Rails 的应用程序的有效方法,并且无需购买昂贵的软件包等即可扩展。

它运作良好,但有一个主要缺点 - 管理。如果没有某种底层管理系统,设置服务器然后保持其运行是非常困难的。这是 Chef/Puppet 和 Docket 等人试图解决的问题,但通常无济于事。

好消息是全是软件——几乎“网络”服务器堆栈的每个方面都是由软件驱动的。困难在于让所有的软件一起工作,这当然是困难和耗时的。

以下是使网络服务器上线所需软件的简要说明:

  • 操作系统

  • 库/软件包

  • 程序语言解释器(Ruby/PHP/等)

  • Web服务器软件

  • 应用服务器软件

  • GIT 存储库

“GIT”存储库基​​本上意味着您可以将您的应用程序推送到服务器,它们将能够运行。 Web 和应用程序服务器包等同于 NGinx/Apache 和 Passenger 等。

虽然大多数人并没有真正考虑它,但是如果您正在为 Web 服务器运行任何类型的动态渲染机制(例如, PHP, NodeJS, Ruby, Python等),需要使用 Application Server 使其运行。

因为应用服务器通常与网络服务器软件捆绑在一起,所以没有人真正关心/知道它们。这就是“共享”托管如此受欢迎的原因——像 WordPress 之类的东西要求它与 PHP 捆绑在一起,所以人们不会真正关心它在后端的工作方式。

对于Rails来说,管理底层依赖的能力和与“Passenger”应用服务器的兼容性是系统正常运行的两个最重要的需求。这是 Rails VPS 托管的最佳选择 - 允许人们运行自己的网络托管基础架构,而无需被锁定到任何特定的软件资源等。

但是,如上所述,问题是您要负责所有服务器软件、备份以及您可能希望应用的任何进一步集成。除非您使用像 VPSDeploy 这样的服务,否则您最终将不得不手动处理系统中的所有内容。

目前,唯一值得使用此功能(对于 Rails)的系统是 HatchBox.io、Nanobox.io 和 VPSDeploy.com。