部署 Ruby 应用程序到云服务是一个重要的步骤,它能够确保你的应用能够在高可用性和可扩展性的环境中运行。本章将详细介绍如何将 Ruby 应用程序部署到云服务,并且涵盖了几个主流的云平台,包括 AWS、Heroku 和 Google Cloud Platform。
选择合适的云平台
在开始部署之前,你需要根据自己的需求和预算选择一个合适的云平台。以下是几个常见的选择:
- AWS (Amazon Web Services):提供广泛的服务,适用于需要高度自定义和控制的应用。
- Heroku:提供简单易用的部署体验,特别适合小型项目或初学者。
- Google Cloud Platform (GCP):提供强大的计算资源和服务,适合需要全球覆盖的应用。
使用 AWS 部署 Ruby 应用
创建 EC2 实例
- 登录 AWS 管理控制台。
- 导航到 EC2 控制台并点击“启动实例”。
- 选择 Amazon Linux 作为操作系统(因为它是免费的,而且与 Ruby 和其他工具兼容良好)。
- 配置实例大小和网络设置。
- 设置安全组规则,允许 HTTP/HTTPS 流量。
- 启动实例并连接到实例。
在 EC2 上安装 Ruby
- SSH 到你的 EC2 实例。
- 更新系统包列表:
sudo yum update -y
- 安装必要的依赖包:
sudo yum install -y gcc glibc-devel make openssl-devel libyaml-devel zlib-devel readline-devel sqlite3-devel
- 下载并安装 Ruby:
cd /usr/src sudo wget http://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz sudo tar xvf ruby-3.0.0.tar.gz cd ruby-3.0.0 sudo ./configure sudo make sudo make install
部署 Rails 应用
- 克隆你的 Git 仓库到 EC2 实例:
git clone <你的 Git 仓库地址>
- 安装 Bundler 和其他依赖:
gem install bundler bundle install --path vendor/bundle
- 设置数据库配置:
cp config/database.yml.example config/database.yml # 编辑 config/database.yml 文件以匹配你的数据库配置
- 运行数据库迁移:
rails db:create db:migrate
- 启动 Rails 服务器:
rails server -b 0.0.0.0
使用 Heroku 部署 Ruby 应用
注册和配置 Heroku
- 访问 Heroku 官网注册一个账号。
- 安装 Heroku CLI 并登录:
heroku login
部署应用程序
- 初始化一个新的 Git 仓库(如果还没有的话):
git init
- 添加远程仓库:
heroku create
- 推送代码到 Heroku:
git push heroku master
- 设置环境变量(如果有需要):
heroku config:set SECRET_KEY_BASE=<你的密钥>
运行和管理应用程序
- 打开应用:
heroku open
- 查看日志:
heroku logs --tail
- 调整资源:
heroku ps:scale web=1
使用 Google Cloud Platform 部署 Ruby 应用
创建 GCP 账户
- 访问 Google Cloud Platform 官网注册一个账户。
- 设置项目并启用结算功能。
使用 App Engine 部署应用
- 安装 Google Cloud SDK:
curl https://sdk.cloud.google.com | bash exec -l $SHELL gcloud init
- 创建一个新的 App Engine 应用:
gcloud app create --project=<你的项目 ID>
- 配置应用:
gcloud app deploy
- 设置环境变量:
gcloud app variables set SECRET_KEY_BASE=<你的密钥>
通过上述方法,你可以将 Ruby 应用程序成功部署到不同的云平台上。每种方法都有其独特的优势,选择最适合你需求的方法进行部署。