Ruby 虛擬主機是什麼?
Ruby 虛擬主機是可以直接執行 Ruby 網站程式的共享主機:在 cPanel 點選建立應用程式、選好 Ruby 版本,就能把 Sinatra 或 Rails 專案掛上網域運作。一般只支援 PHP 的主機沒有 Ruby 直譯器與 Rack 介面,上傳 .rb 檔不會被執行。
瑪尼國際的 Linux 虛擬主機透過 CloudLinux 的應用程式選擇器提供 Ruby 執行環境,所以 Ruby 虛擬主機是 Linux 虛擬主機本來就附的能力:官網用 PHP 或 WordPress,旁邊再跑一支 Ruby 服務,同一部主機、同一份年費。
在 cPanel 建立 Ruby 應用程式要幾個步驟?
四個步驟:建立應用程式、上傳程式、安裝套件、重新啟動。全部在 cPanel 的「Setup Ruby App」完成:
- 在 cPanel 開啟「Setup Ruby App」,選擇 Ruby 版本,指定應用程式目錄與要綁定的網域或子目錄。
- 把專案與 config.ru、Gemfile 上傳到應用程式目錄。
- 用 SSH 進入應用程式的環境執行 bundle install,依 Gemfile 安裝套件。
- 設定環境變數(例如 RAILS_ENV、資料庫密碼)後重新啟動,網址就會交由您的程式回應。
每個應用程式各自選版本、各自安裝 gem,一個專案升級不會影響另一個專案。
Sinatra 與 Rails 放在虛擬主機要注意什麼?
Sinatra 這類輕量框架最適合共享主機;Rails 以中小型、沒有常駐背景工作的專案為限。實務上的注意事項:
- 資產編譯在本機做:assets:precompile 在本機完成再上傳,避免在共享主機上跑耗資源的建置。
- 資料庫用 MySQL:方案內含 MySQL 5.x~9.4,Rails 以 mysql2 轉接器連線。
- 排程用 Cron Jobs:定時執行的 rake 任務可以交給 cPanel 的 Cron Jobs。
- 不跑常駐工作者:Sidekiq、Resque 這類需要 Redis 與常駐行程的佇列不適合共享主機。
Ruby 主機可以選哪些版本?Rails 8 可以跑嗎?
可以選 Ruby 3.3,另外保留 1.8~2.6 給舊專案沿用;Ruby 3.3 可以跑 Rails 8 與 Rails 7.2,新專案請選 3.3。版本在 cPanel 建立應用程式時選擇,每個應用程式各自獨立:
| Ruby 版本 | 瑪尼國際主機 | 可搭配的 Rails | 官方支援 |
|---|---|---|---|
| Ruby 3.3 | 可選(建議) | Rails 8(需 Ruby 3.2 以上)、Rails 7.2(需 3.1 以上) | 安全性維護到 2027 年 3 月 |
| Ruby 2.5、2.6 | 可選,供舊專案使用 | Rails 6.1 以前 | 官方已停止支援 |
| Ruby 1.8~2.4 | 可選,供舊專案使用 | Rails 5 以前 | 官方已停止支援 |
Ruby 2.6 以前的版本已經收不到安全性修補,只建議給暫時無法改寫的舊專案。舊 Rails 專案要升級,通常要 Ruby 和 Rails 一起往上升,建議先在本機用 Ruby 3.3 跑過 bundle install 與測試,再到 cPanel 建一個 3.3 版的應用程式切換過去,舊的應用程式先留著當退路。
部署 Ruby 應用程式最常遇到的 3 個錯誤
Gemfile.lock 平台不符、正式環境變數沒設、改完程式沒重新啟動,是開通後最常被問到的三種狀況。症狀與改法如下:
- bundle install 找不到符合平台的 gem:Gemfile.lock 是在 Windows 或 Mac 上產生的,只記錄了本機的平台。在本機執行
bundle lock --add-platform x86_64-linux後重新上傳 Gemfile.lock,再到主機執行bundle install。 - Rails 一啟動就出錯,記錄提到 secret_key_base:正式環境沒有設定金鑰。在 cPanel「Setup Ruby App」的環境變數加上
RAILS_ENV=production與SECRET_KEY_BASE(在本機用bin/rails secret產生),或改用 Rails 的 credentials 並把 master key 設成環境變數RAILS_MASTER_KEY。 - 改了程式,網站還是舊的:行程還在執行舊版本。在 cPanel 按「Restart」,或在應用程式目錄建立(或更新時間)
tmp/restart.txt。
部署卡住時,把錯誤訊息透過線上客服傳給我們,協助判斷是程式還是環境的問題。
Ruby 虛擬主機年繳和兩年繳差多少?
選兩年期比連續年繳兩次便宜:基本型省 700 元、經濟型省 600 元、商務型省 4,000 元。依方案表的價格試算:
| 方案 | 年繳兩次 | 兩年期 | 省下 | 兩年期平均每月 |
|---|---|---|---|---|
| 基本型 | NT$7,000 | NT$6,300 | NT$700 | 約 NT$263 |
| 經濟型 | NT$10,000 | NT$9,400 | NT$600 | 約 NT$392 |
| 商務型 | NT$20,000 | NT$16,000 | NT$4,000 | 約 NT$667 |
經濟型與商務型另有終生型,一次付 50,000 元,等於經濟型年繳 10 年、商務型年繳 5 年的費用。虛擬主機整體怎麼挑、能做什麼、搬家要注意哪些事,可以看虛擬主機完整指南。
Ruby 虛擬主機的限制與替代方案
共享主機會回收閒置的應用程式行程,把資源留給同機的其他帳號,因此不適合常駐型的服務。需要常駐背景工作者、Redis、Action Cable 大量長連線,或必須有 root 權限、Docker 的專案,請改看 VPS 主機或實體主機。
同樣的應用程式選擇器也支援 Python 虛擬主機與 Node.js 虛擬主機,三種語言可以在同一個帳號並存。版本需求請在簽約前告知,我們先確認主機上可選的版本再開通,來電 0800-670000。