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”按钮:
如果您尚未登录Silicon Cloud账户,您需要登录才能继续。如果您没有账户,系统会提示您注册。
接下来,您将被带到”创建vServer”页面。在这里,您可以在创建Ruby on Rails vServer之前自定义服务器设置。我们关于”如何创建您的第一个vServer”的文档详细描述了您需要做出的所有选择,但以下部分讨论了需要考虑的关键设置。
选择镜像
您的镜像将已经设置为市场选项卡,并选择了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地址:

这个IP地址对于连接到您的vServer以及您可能想要进行的任何未来配置都很重要。当您将鼠标悬停在IP地址上时,可以将其复制到剪贴板。
通过一键市场创建的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地址:
- 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地址或域名,因为这一步已经通过一键安装过程处理了。
如果成功,您将在浏览器中收到以下页面:
如果您收到错误,您可能需要检查是否已按照先决条件正确设置了域名。此外,您可能还需要检查服务是否处于活动状态。
步骤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的信息。