如何在 DigitalOcean 上一键安装 Rails 上的 Ruby

介绍

Ruby on Rails,或Rails,为创建网站和编写在编程语言 Ruby的Web应用程序提供了一个框架,使用Ruby和Rails可以快速构建和部署可扩展的应用程序。

本教程将引导您通过使用DigitalOcean Droplet使用Ruby on Rails预先安装使用DigitalOcean Ruby on Rails 1-Click App进行旋转。创建Droplet后,您将了解一些使用案例和常见命令。由于此1-Click Droplet基于标准Ubuntu 20.04 Droplet,您可以在完成本指南后阅读更多我们的Ruby教程(https://andsky.com/tags/ruby-on-rails?subtype=tutorial)。

1 点击部署

Ruby on Rails 1-Click在Ubuntu 20.04 Droplet上预安装了以下软件包:

PackageVersion
Ruby27.2
Rails6.0.3.4
Puma5.0.2
Postgres12.4
Nginx1.17.10
Node.js12.19.0
Certbot0.40.0

除了包安装之外,这个 1-Click 还处理:

  • 启用 UFW 防火墙,仅允许 SSH (端口 22), HTTP (端口 80) 和 HTTPS (端口 442) 访问。
  • 创建一个 'rails' 系统用户部署应用程序,以及一个 'rails' 数据库用户连接到 PostgreSQL。
  • 配置 Ruby 使用已安装的软件并将所有珠宝和流程本地安装到您的 'rails' 用户。

截至本文,这些包正在 Ubuntu 20.04 服务器上运行,以及 Ruby on Rails 版本 7.0.4.2。

前提条件

要在您的浏览器上运行 Ruby on Rails 1-Click,您需要一个域名,您可以使用 DNS quickstart guide来学习如何使用 DigitalOcean DNS 设置一个域名。

步骤 1 — 创建 Ruby on Rails 滴。

要创建 Ruby on Rails 1-Click Droplet,首先在我们的市场应用程序列表(https://marketplace.digitalocean.com/category/all)中找到它,然后选择 Ruby on Rails应用程序。

要开始创建您的Droplet,请按下 Create Ruby on Rails Droplet按钮:

Ruby on Rails 1-Click Create Docker Droplet

如果您尚未登录到您的 DigitalOcean 帐户,您将需要登录才能继续。

接下来,您将被带到创建滴滴页面,在这里您可以在创建 Ruby on Rails 滴滴之前定制服务器设置。我们关于如何创建你的第一个滴滴的文档(https://docs.digitalocean.com/products/droplets/how-to/create/)详细描述了您需要做出的所有选择,但下面的部分讨论了要考虑的关键设置。

选择一个图像

您的图像将已设置为 Marketplace 选中 Ruby on Rails。如果没有设置,请切换到 Marketplace 选中,并在关键字搜索框中搜索 Ruby on Rails。

Marketplace Ruby on Rails Image

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

一旦 Ruby on Rails 图像正确选择,您可以根据您的使用情况接受默认值或调整设置。

选择数据中心区域

为了避免潜在的延迟,建议您选择最接近用户库的数据中心区域。在某些地区,我们有多个数据中心。

选择一个计划

请记住,你可以根据你的需求(https://docs.digitalocean.com/products/droplets/how-to/resize/)调整你的Droplet大小。 要运行Ruby on Rails的Droplet,建议至少拥有1GB的RAM。

选择身份验证方法

选择身份验证方法时,建议使用 SSH 密钥 选项,而不是您的 Droplet 的 ** 密码**。

选择其他选项

将改进的指标监控和警报添加到您的 Droplet 可以帮助您跟踪您的 Droplet 资源的使用时间。您可能还想考虑 启用自动备份

选择一个主机

给您的 Droplet 一个识别名称,您将记住,例如Ruby on Rails Droplet 1或在您将使用的应用程序后命名它。

完成所有选项后,请按下控制面板屏幕底部的创建 Droplet按钮。

Copying a new Droplet's IP Address

此 IP 地址对于连接到您的 Droplet 以及您未来的任何配置都很重要. 当您浏览 IP 地址时,您可以将其复制到您的剪辑板。

通过 1-Click Marketplace 创建的 Droplets 还附有额外的资源,您可以通过点击 Get Start 链接访问:

1-Click Droplet's Get started

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

Get started with additional information and resources

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

步骤 2 — 通过 SSH 访问 Droplet 以启用配置

一旦你已经在Ruby on Rails Droplet上插入,你需要连接到你的Droplet通过SSH(https://docs.digitalocean.com/products/droplets/how-to/connect-with-ssh/)。这意味着你将从命令行连接到服务器. 如果你以前没有使用过SSH或Putty等终端程序,请参阅如何使用SSH连接你的Droplet。 当你准备好时,打开计算机上的终端,并通过SSH登录你的Droplet作为 root,以以下命令代替你的Droplet的IP地址:

1ssh root@your_server_ip

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

 1Thank you for using DigitalOcean's Rails Application.
 2
 3The "ufw" firewall is enabled. All ports except for 22, 80, and 443 are BLOCKED.
 4
 5Let's Encrypt has been pre-installed for you. If you have a domain name, and
 6you will be using it with this 1-Click app, please see: https://do.co/2GOFe5J
 7
 8You can use the following SFTP credentials to upload your files (using FileZilla/WinSCP/Rsync):
 9  * Host: 24.199.120.116
10  * User: rails
11  * Pass: cd083867dfdb40970449c422797378c1
12If you provided an ssh-key when creating this Droplet, the key should be used for SFTP as well
13
14You can use the following Postgres database credentials:
15  * User: rails
16  * Pass: a0d8c213e0d797342b1450e4e880180f
17
18Ruby has been configured to use vendored bundles. Please use the 'rails' user to
19interact with the default project via "su - rails"
20
21Passwords have been saved in /root/.digitalocean.passwords
22
23Nginx is configured to forward requests for rails to a local unix socket
24    Public IP: http://24.199.120.116
25    Access Logs: /var/log/nginx/access.log
26    Error Logs: /var/log/nginx/error.log
27
28Rails using the Puma server is managed via 'systemd'.
29    Proccess management: systemctl {start|stop|restart} rails.service
30    systemd Unit file: /etc/systemd/system/rails.service
31
32Ruby information:
33    All Gems and processes have been installed locally to the 'rails' user. Please
34    'su - rails' to use this environment.
35
36You can learn more about using this image here: https://do.co/2GTOVjB
37
38-------------------------------------------------------------------------------------
39To delete this message of the day: rm -rf /etc/update-motd.d/99-one-click

还有几点要从这个消息中注意:

  • 您的系统和数据库用户密码的凭证将可用. 此信息也将存储在以下目录中 /root/.digitalocean.passwords.
  • 您的 SFTP凭证,如果您希望使用软件如 FileZilla, WinSCP,或rsync 加载文件 * 关于 Rails 如何使用 Puma 的信息,由 `systemd' 管理,以启动,停止,重新启动或检查 Puma 的状态。

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

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

1http://your_IP_or_domain

请记住,您不需要执行任何额外的约束性步骤,例如‘rails server --binding=your_IP_or_domain’,因为通过1点击安装过程来处理此问题。

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

Ruby on Rails in your browser

如果您收到错误,您可能想要检查您是否已根据前提设置正确的域名,此外,您还可能想要检查该服务是否活跃。

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

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

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

此输出显示该服务目前处于运行状态. 现在,您已经验证 Ruby on Rails 正在成功运行,接下来,您可以使用 Ruby 编写一个基本程序。

要开始服务,运行:

1systemctl start rails.service

要停止服务,运行:

1systemctl stop rails.service

要重新启动服务,运行:

1systemctl restart rails.service

结论

您的 Ruby on Rails 1-Click Droplet 现在已经准备好了,但是,您可能需要根据项目的需求使用各种功能. 以下是一些教程列表,以探索您预安装的 Ruby on Rails Droplet 软件可以实现的所有可能性:

了解有关 Ruby 和 Ruby on Rails 的更多信息,请查看 我们的教程系列

Published At
Categories with 技术
comments powered by Disqus