返回部落格

在 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 之上的強大網頁框架。它作為眾多網頁應用程式的後端,例如 Airbnb、Spotify、GitHub、SoundCloud 等。Ruby on Rails 的哲學是提供一個直觀的框架,以加速建置穩健且高效能的網頁。

作為一個網頁框架,Ruby on Rails 可以與流行的資料庫引擎協同工作,例如 SQLite, MySQL/MariaDB,以及 PostgreSQL。本指南將展示如何建置一個使用 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 套件伺服器取得。對於其他發行版,請查看 official rbenv installation guide.

立即啟動終端機並安裝它:

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

此網頁框架可作為 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 現在應該能夠連線到 MySQL 並執行必要的資料庫作業。以下指令將建立必要的資料庫:

rake db

步驟 5:測試設定

啟動 Rails 開發伺服器:

rails server

您應該能夠在以下網址存取歡迎頁面:

URL

結語

在本指南中,我們已使用 rbenv、安裝了 Rails gem,並設定了一個範例 Rails 應用程式以連接到 MySQL 並將其用作資料庫引擎。這為擴充和集中式的網頁應用程式提供了一個極佳的骨架。

若要了解如何在 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 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。