2023年Silicon Cloud平台Ruby on Rails一键安装教程:快速部署指南

引言

Ruby on Rails,简称为Rails,是一个基于Ruby编程语言的Web应用程序框架,用于创建网站和网络应用。同时使用Ruby和Rails可以快速构建和部署可扩展的应用程序。

本教程将指导您如何使用Silicon Cloud的Ruby on Rails一键应用,在Silicon Cloud vServer上启动预装了Ruby on Rails的服务器。创建vServer后,您将了解一些用例和常用命令。由于这个一键安装的vServer基于标准的Ubuntu 20.04 vServer,因此在完成本指南后,您可以阅读更多我们的Ruby教程。

一键部署

Ruby on Rails一键应用在Ubuntu 20.04 vServer上预装了以下软件包:

软件包 版本
Ruby 2.7.2
Rails 6.0.3.4
Puma 5.0.2
Postgres 12.4
Nginx 1.17.10
Node.js 12.19.0
Certbot 0.40.0

除了软件包安装外,这个一键应用还处理以下事项:

  • 启用UFW防火墙,仅允许SSH(端口22)、HTTP(端口80)和HTTPS(端口443)的访问。
  • 创建一个rails系统用户来部署应用程序,以及一个rails数据库用户来连接PostgreSQL。
  • 配置Ruby使用已安装的软件,并将所有Gems和进程本地安装到您的rails用户。
  • 配置Nginx将请求转发到本地UNIX套接字,作为应用程序服务器的反向代理。

在撰写本文时,这些软件包运行在Ubuntu 20.04服务器上,同时Ruby on Rails的版本为7.0.4.2。

先决条件

要在浏览器上运行您的Ruby on Rails一键应用,您需要一个域名。您可以使用DNS快速入门指南来学习如何使用Silicon Cloud DNS设置域名。

步骤1 — 创建Ruby on Rails vServer

要创建您的Ruby on Rails一键vServer,首先在我们的市场应用程序列表中找到它,然后选择Ruby on Rails应用程序。这将带您进入Silicon Cloud控制面板。

要开始创建您的vServer,请点击”创建Ruby on Rails vServer”按钮:

Ruby on Rails一键创建Docker vServer

如果您尚未登录Silicon Cloud账户,您需要登录才能继续。如果您没有账户,系统会提示您注册。

接下来,您将被带到”创建vServer”页面。在这里,您可以在创建Ruby on Rails vServer之前自定义服务器设置。我们关于”如何创建您的第一个vServer”的文档详细描述了您需要做出的所有选择,但以下部分讨论了需要考虑的关键设置。

选择镜像

您的镜像将已经设置为市场选项卡,并选择了Ruby on Rails。如果没有设置,请切换到市场选项卡,并在关键词搜索框中搜索Ruby on Rails。正确设置后,您的控制面板将类似于以下内容:

市场Ruby on Rails镜像

已选择Ubuntu 20.04上的Ruby on Rails 7.0.4.2。如果尚未选择,请使用搜索框搜索Ruby on Rails。

正确选择Ruby on Rails镜像后,您可以接受默认设置或根据您的用例调整设置。我们通常建议进行以下更改:

选择数据中心区域

为避免潜在的延迟,建议选择最接近您用户群的数据中心区域。在某些地区,我们有不止一个数据中心。这些相同区域的数据中心之间没有区别(例如,SFO3和SFO2)。

选择计划

选择适合您的计划。请记住,您可以根据需要调整vServer的大小。要运行带有Ruby on Rails的vServer,建议至少有1GB的RAM。

选择身份验证方法

选择身份验证方法时,建议为您的vServer选择SSH密钥选项而不是密码。使用SSH密钥进行身份验证通常更安全。

选择附加选项

为您的vServer添加改进的指标监控和警报,有助于您跟踪vServer的资源使用情况。您可能还需要考虑启用自动备份。如果您愿意,您可以稍后回来在已创建的vServer上启用备份功能。

选择主机名

为您的vServer提供一个您能记住的标识名称,例如”Ruby on Rails vServer 1″或者以您将要用它的应用程序来命名。

完成所有选择后,按下控制面板屏幕底部的”创建vServer”按钮。vServer创建完成后,将显示其IP地址:

复制新vServer的IP地址

这个IP地址对于连接到您的vServer以及您可能想要进行的任何未来配置都很重要。当您将鼠标悬停在IP地址上时,可以将其复制到剪贴板。

通过一键市场创建的vServer还附带额外资源,您可以通过点击”开始使用”链接访问这些资源:

一键vServer的开始使用

这将切换到一个新面板,您可以获取特定于您选择的一键安装的额外信息。这包括概述、使用vServer的进一步步骤以及我们社区网站的相关教程链接。还有关于获取支持和查找更多Ruby on Rails资源的有用链接。您也可以通过查看官方Ruby on Rails文档获得支持。

开始使用额外信息和资源

接下来,您将使用之前设置的SSH身份验证方法通过终端访问您的Ruby on Rails vServer。

步骤2 — 通过SSH访问vServer以进行配置

一旦启动了Ruby on Rails vServer,您需要通过SSH连接到您的vServer。这意味着您将从命令行连接到服务器。如果您之前没有使用过SSH或PuTTY等终端程序,请查看《如何通过SSH连接到您的vServer》。

准备就绪后,在计算机上打开终端,并通过SSH以root身份登录到您的vServer,使用以下命令,将IP地址替换为您的vServer的IP地址:

  1. ssh root@您的服务器IP

 

登录后,将显示以下每日消息(MOTD),其中包含有关此应用程序上安装的软件的信息,以及一键部署部分中列出的已为您配置的其他功能:

感谢您使用Silicon Cloud的Rails应用程序。

"ufw"防火墙已启用。除22、80和443端口外,所有端口均被阻止。

已为您预安装Let's Encrypt。如果您有域名,并且
将在此一键应用程序中使用它,请参阅:https://do.co/2GOFe5J

您可以使用以下SFTP凭据上传文件(使用FileZilla/WinSCP/Rsync):
  * 主机:24.199.120.116
  * 用户:rails
  * 密码:cd083867dfdb409709449c422797378c1
如果在创建此vServer时提供了ssh密钥,该密钥也应被用于SFTP

您可以使用以下Postgres数据库凭据:
  * 用户:rails
  * 密码:a0d8c213e0d797342b1450e4e880180f

Ruby已配置为使用供应商捆绑包。请使用'rails'用户通过"su - rails"与默认项目交互

密码已保存在/root/.digitalocean.passwords中

Nginx已配置为将rails请求转发到本地unix套接字
    公共IP:http://24.199.120.116
    访问日志:/var/log/nginx/access.log
    错误日志:/var/log/nginx/error.log

使用Puma服务器的Rails通过'systemd'进行管理。
    进程管理:systemctl {start|stop|restart} rails.service
    systemd单元文件:/etc/systemd/system/rails.service

Ruby信息:
    所有Gem和进程都已本地安装到'rails'用户。请使用'su - rails'来使用此环境。

您可以在此处了解更多有关使用此镜像的信息:https://do.co/2GTOVjB

-------------------------------------------------------------------------------------
要删除此每日消息:rm -rf /etc/update-motd.d/99-one-click

从此消息中需要注意的其他几点事项:

  • 您的系统和数据库用户密码的凭据将可用。此信息也保存在以下目录/root/.digitalocean.passwords中。
  • 如果您想使用FileZilla、WinSCP或rsync等软件上传文件,您的SFTP凭据
  • 关于Rails如何使用Puma的信息,由systemd管理以启动、停止、重启或检查Puma的状态。

步骤3 — 在浏览器中检查Ruby on Rails

您可以通过导航到您的IP地址或域名信息来检查Ruby on Rails是否正常工作:

http://您的IP地址或域名

请记住,您不需要运行任何额外的绑定步骤,例如 rails server –binding=您的IP地址或域名,因为这一步已经通过一键安装过程处理了。

如果成功,您将在浏览器中收到以下页面:

浏览器中的Ruby on Rails

如果您收到错误,您可能需要检查是否已按照先决条件正确设置了域名。此外,您可能还需要检查服务是否处于活动状态。

步骤4 — 检查您的Ruby on Rails服务是否活动

您可以通过多种方式通过Puma管理您的Ruby on Rails服务。例如,您可以使用以下命令检查服务状态:

systemctl status rails.service

输出结果如下:

● rails.service - ExampleApp
     Loaded: loaded (/etc/systemd/system/rails.service; enabled; vendor preset:>
     Active: active (running) since Tue 2023-01-31 18:29:55 UTC; 37min ago
   Main PID: 2172 (ruby)
      Tasks: 13 (limit: 1116)
     Memory: 143.6M
        CPU: 3.518s
     CGroup: /system.slice/rails.service
             └─2172 "puma 5.6.5 (tcp://0.0.0.0:3000) [example]" "" "" "" "" ""

此输出显示服务当前处于活动(运行)状态。既然您已验证Ruby on Rails成功运行,接下来,您可以使用Ruby编写一个基本程序。

您可以探索一些其他进程管理命令,例如:

要启动服务,请运行:

systemctl start rails.service

要停止服务,请运行:

systemctl stop rails.service

要重启服务,请运行:

systemctl restart rails.service

结论

您的Ruby on Rails一键安装vServer现已准备就绪。但是,根据您项目的需求,您可能需要使用各种功能。以下是一系列教程,可探索使用您的Ruby on Rails vServer预装软件可以完成的所有可能性:

  • 要开始构建Ruby on Rails应用程序,您可以通过我们的《如何构建Ruby on Rails应用程序》教程学习入门知识。
  • 要了解更多关于Rails生态系统的信息,您可以阅读项目文档。
  • 要使用React等框架设置健壮的前端项目,您可以查看我们的《如何为Ruby on Rails项目设置React前端》教程。
  • 要了解其他数据库选项,如PostgreSQL,请阅读我们的《如何在Ruby on Rails应用程序中使用PostgreSQL》教程。
  • 要向项目添加嵌套资源,请查看我们的《如何为Ruby on Rails应用程序创建嵌套资源》教程。
  • 要学习如何编写其他Ruby程序,您可以阅读我们的《如何编写您的第一个Ruby程序》教程。

通过查看我们的教程系列,了解更多关于Ruby和Ruby on Rails的信息。

bannerAds