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。