返回博客

在 Ubuntu 21.04 上的 Ruby on Rails 应用中使用 MySQL

在 Ubuntu 21.04 上的 Ruby on Rails 应用中使用 MySQL

Ruby 是一种功能强大的编程语言。它是一种解释型、高级且通用的语言,融合了多种编程范式。Ruby 的创造者松本行弘(Yukihiro Matsumoto)融合了他最喜欢的几种编程语言(如 Perl、Ada、Lisp、Eiffel、Smalltalk 等)的各个部分,创造了 Ruby。用他自己的话来说,他旨在让 Ruby “更自然,而非简单”.

Ruby 的流行很大程度上归功于 Ruby on Rails。它是一个构建在 Ruby 之上的强大 Web 框架。它作为众多 Web 应用程序的后端,例如 Airbnb、Spotify、GitHub、SoundCloud 等。Ruby on Rails 的哲学是提供一个直观的框架,以加速构建健壮且高性能的网页。

作为一个 Web 框架,Ruby on Rails 可以与流行的数据库引擎协同工作,例如 SQLite, MySQL/MariaDBPostgreSQL。本指南将展示如何构建一个使用 MySQL 作为其数据库引擎的 Ruby on Rails 应用程序的基础。

前提条件

  • 本指南中演示的所有步骤均在 Ubuntu 21.04 上进行。在此处了解更多关于设置 Ubuntu 服务器的信息.
  • 我们还将快速演示如何安装和配置 MySQL 服务器。有关更多信息,请参阅这篇关于设置 MySQL.
  • 的指南。至于安装和管理 Ruby,我们将使用 rbenv。这是一个旨在帮助管理 Ruby 环境的工具。与 RVM, rbenv 相比,有着其不同之处.

步骤 1:安装和配置 MySQL

MySQL 将作为我们 Ruby on Rails 应用程序的数据库后端。假设您尚未安装和配置 MySQL,请跟随以下步骤。启动终端并更新 APT 缓存:

MySQL with Ruby on Rails code screenshot 1

然后,安装 MySQL 组件:

MySQL with Ruby on Rails code screenshot 2

安装完成后,运行以下 MySQL 脚本。它将执行快速的安装后配置:

该脚本会提出多个问题。完成这些步骤以结束初始配置:

MySQL with Ruby on Rails code screenshot 4

3

4

MySQL with Ruby on Rails code screenshot 5

  • 附加步骤

以下步骤是可选的,仅在教程后续部分中 Ruby on Rails 无法连接到 MySQL 服务器时才需要执行。它将 MySQL 中的 root 用户设置为使用 mysql_native_password 以允许传统的密码登录。在 Ubuntu 上访问 root 账户:

现在,启动 MySQL root shell,无需密码检查:

接下来,运行以下查询以更改密码并将 mysql_native_password 设置为身份验证方法:

MySQL with Ruby on Rails code screenshot 6

步骤 2:安装和配置 Ruby 和 Ruby on Rails

我们的数据库服务器已准备好用于生产。我们现在需要安装 Ruby。如前所述,我们将使用 rbenv 作为我们项目的 Ruby 版本管理器。Ruby on Rails 可作为 Ruby gem 获取。

  • 安装 rbenv

Ruby 管理器 rbenv 可以直接从 Ubuntu 官方软件包服务器获取。对于其他发行版,请查看官方 rbenv 安装指南.

启动终端并立即安装它:

MySQL with Ruby on Rails code screenshot 7

接下来,我们必须将 rbenv 集成 到默认 shell 中。运行以下 rbenv 命令:

MySQL with Ruby on Rails code screenshot 8

如输出所示,对于 bash,我们需要在本地 bashrc 文件中包含该行。无需过多赘述, bashrc 文件在每次用户在交互模式下打开新 shell 时都会被加载。在文本编辑器中打开该文件并添加以下文本:

nano

保存文件并关闭编辑器。建议重新启动终端以使更改生效。或者,您可以将 bashrc 文件重新加载到当前 shell 中:

接下来,我们将安装一个 rbenv 插件,以提供对 rbenv install 命令的支持。该插件可直接从 rbenv GitHub 仓库获取。运行以下命令:

git clone

要测试我们的 rbenv 配置,请运行 rbenv-doctor 脚本:

curl

它将检查各种组件并报告一切是否正常。

  • 安装 Ruby

一旦 rbenv 配置完成,我们就可以安装 Ruby 了。以下命令将列出所有可用的 Ruby 版本:

rbenv install -l

输出内容会有点长,因此建议将其传递给 more 或 less 以便更好地浏览。该列表还包含各种 Ruby 构建版本。在本指南中,我们将重点关注最新的官方 Ruby 构建版本。在撰写本文时,它是 Ruby v3.0.3。

现在,安装 Ruby:

rbenv install

下一个命令将把已安装的 Ruby 声明为适用于所有应用程序的全局版本:

验证 Ruby 安装:

ruby

  • 安装 Ruby on Rails

该 Web 框架可作为 Ruby 的 gem 获取。虽然 Ruby on Rails 可以直接从 Ubuntu 软件包服务器获取,但将其作为 gem 安装提供了更多的灵活性。

首先,安装 gem Bundler。它是一个解决 gem 依赖关系的工具。Rails 依赖于它:

gem install bundler

运行下一个命令将把最新稳定版本的 Ruby on Rails 作为 gem 安装:

gem install rails

如果您想安装特定版本,那么命令结构将如下所示:

安装好 gem 后,运行以下命令:

rbenv rehash

Ruby 管理器 rbenv 的工作原理是为指向当前启用的 Ruby 版本文件的 shim 创建专用目录。 rehash 子命令指示 rbenv 在该目录中维护 shim,以匹配服务器上每个已安装 Ruby 版本的每个 Ruby 命令。每当您安装新版本的 Ruby 或提供类似于 Rails 命令的 gem 时,都应该运行它。

验证 Rails 安装:

rails

步骤 3:安装 MySQL gem

要连接到 MySQL 服务器,Rails 需要一个适配器。我们将使用 mysql2 gem 来实现此功能。安装 mysql2 gem:

gem install mysql2

步骤 4:创建和配置新的 Rails 应用

  • 创建示例应用

到目前为止,我们已经配置了建立 Rails 应用所需的所有组件。以下命令将为该应用创建一个专用目录,并放置所有支持 MySQL 的必要文件:

rails new

  • 配置 MySQL 连接

现在,我们需要输入必要的 MySQL 信息,以便 Rails 可以连接到数据库并交换数据。默认情况下, Rails 以 root 身份连接到 MySQL。打开 Rails 数据库配置文件:

nano config

向下滚动到以下部分并输入 MySQL 的 root 密码。然后,保存文件并关闭编辑器。

  • 应用数据库更改

如果一切顺利,Rails 现在应该能够连接 to MySQL 并执行必要的数据库操作。以下命令将创建必要的数据库:

rake db

步骤 5:测试配置

启动 Rails 开发服务器:

rails server

您应该能够通过以下 URL 访问欢迎页面:

URL

结语

在本指南中,我们已使用 安装了 Rubyrbenv,安装了 Rails gem,并配置了一个示例 Rails 应用程序以连接到 MySQL 并将其用作数据库引擎。它为可扩展且集中的 Web 应用程序提供了一个很好的骨架。

要了解如何在 Ubuntu 20.04 上使用 RVM 安装 Ruby on Rails,请查看以下教程 在 Ubuntu 20.04 上使用 RVM 安装 Ruby on Rails。要了解如何使用 PostgreSQL 设置 Ruby on Rails,请查看以下教程:使用 PostgreSQL 设置 Ruby on Rails.

祝您使用愉快!

author

Hark Labs

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的创意设计师,专注于通过传统和创新营销渠道打造一致的企业形象。他擅长将艺术愿景与战略营销相融合,创造具有影响力的品牌叙事。

评论

暂无评论。发表第一条评论吧。