Ruby on Rails 最好在 VPS 服务器上运行(如果您不想使用 Heroku 之类的东西)——通常托管在各种“云”提供商之一。虽然这是相当标准的(并且设置起来相对简单),但设置软件以在各种 VPS 机器上运行并不是一种简单的方法。

事实是,像 Rails 这样的 VPS 服务器的大多数设置都是以软件为中心的 - 这意味着无论您最终使用哪种设置,底层的“VPS”仍然是相同的。

这就是它被称为“堆栈”的原因 - 您基本上是在安装系统的“层”,从操作系统到基础库再到 Web 服务器和 GIT 等等。

如果您对上传 Ruby on Rails 应用程序并在“云”VPS 上运行感兴趣,最好查看运行该软件所需的各种软件。这可以通过许多不同的方式完成,但基本原理保持不变。本教程将解释如何...

运行 Rails 驱动的 VPS 需要什么

最重要的关于这个“堆栈”需要知道的事情存在于 *ALL* 系统上——与操作系统无关。

您需要的具体软件堆栈如下:

  • 操作系统(Linux 或 Windows)
  • < u>系统库(OpenSSL、GIT等)
  • 语言翻译(Ruby/PHP等)
  • 软件套件(Web服务器等)
  • GIT Repo + 服务器配置

这里的要点是,上面的意思是使任何 Web 服务器联机所需的典型“堆栈”。 Web 服务器都是一样的——它们都是标准化的系统,旨在为用户提供在 Web 上“发布”HTML 页面的能力。

唯一的区别 - 尤其是与 Rails 相关 - 您需要所谓的“应用程序”服务器软件 - 它代表动态请求的“处理”。对于 Rails,这通常是“passenger”,但 Puma 也可以。

为了理解它是如何工作的,我将简要解释使它全部工作所需的步骤......

安装各种包

如上所述,99% 的工作是安装不同的包。

要做到这一点,您基本上可以让您的主机通过其基于 Web 的界面或 API 来设置服务器。该 API 实际上只适用于第三方应用程序,因此您不必担心。

关键是 之后的一切都由您决定。方法如下...

  1. SSH 访问

    您需要做的第一件事是获取访问 SSH。

    通常这是通过提供商的网络服务完成的(例如 Digital Ocean 有一个“控制台”小程序。这将使您可以直接访问服务器并且您应该能够使用“root”用户名登录(通过电子邮件发送密码)。

  2. 创建“部署”用户

    一旦获得初始 SSH 访问权限,最好删除“root”用户的访问权限(以防止黑客攻击)并将端口更改为 22 以外的端口。这通常意味着您必须记住端口 - 但您需要确保通过这种方式您基本上可以“阻止”您将获得的大多数黑客攻击尝试。

    最重要的是,建议您创建某种“部署”用户。基本上,这可以让您可以替换“根”用户并消除对部署默认值的依赖。

  3. 安装操作系统级库

    设置“deploy”用户后,您将需要安装运行各种应用程序。

    这些取决于您希望使用的应用程序类型 - 但通常包含大部分相同的包。

  4. u>安装编程语言

    接下来,您需要安装应用程序所需的各种编程语言。如果您使用 Ruby on Rails,则使用 Ruby。您可能还需要 NodeJS 来帮助系统执行应用程序的各种 Javascript 元素。

  5. 安装网络服务器软件

    这将是 Apache 或 NGinx。两种 Linux 版本都支持它们 - 您应该也能让它们在 Windows 上工作。

  6. 安装“应用程序”服务器软件

    安装web服务器后,需要安装“应用”服务器。这是将 HTTP 请求传递给 Ruby 解释器的程序 - 允许您的 Rails 应用程序传送 HTML 响应。

    对于 Rails,它将是 Phusion Passenger 或 Puma。两者的设置都相对复杂,因此您需要找到操作方法。

  7. 在服务器配置文件中设置各种域

    NGinx 和 App ache 都运行一个“虚拟主机”系统——你可以在不同的域/应用程序之间“拆分”一个服务器。通过在配置文件中设置它们,您可以准确地确定要在服务器上托管哪些应用程序。

  8. 设置GIT Repo

    最后需要设置应用程序可能需要的各种 GIT 存储库。虽然您可以使用“文件管理器”系统(甚至 FTP)直接上传文件,但 GIT 在处理版本化上传方面效率更高。

完成以上所有操作后,您就可以将应用部署到您自己的VPS服务器上了。虽然并不详尽,但以上内容几乎是让它们全部工作所需的全部内容。