Jupyter AI

33 在Heroku上部署Rails应用

📅 发表日期: 2024年8月15日

分类: 🌟Rails 入门

👁️阅读: --

在前一章中,我们讨论了如何选择一个适合的Rails应用部署方案。在本章中,我们将深入探讨如何通过Heroku来部署我们的Rails应用。作为一个云平台,Heroku 提供了简单易用的解决方案,让开发者能够快速部署和扩展应用。

为什么选择Heroku?

Heroku 是一个非常流行的PaaS(平台即服务)解决方案,特别适合Rails应用。它的优势包括:

  • 简易化部署:通过命令行就可以轻松完成应用部署。
  • 可伸缩性:可以随时根据需求调整资源。
  • 集成了多种服务:如数据库、缓存和邮件服务等。

开始之前

在你开始之前,确保你的本地环境中安装了以下工具:

确保你已经注册了一个Heroku账户,并使用命令 heroku login 登录到你的账户。

创建一个新的Rails应用(示例)

如果你还没有一个Rails应用,可以使用以下命令创建一个简单的示例应用:

rails new myapp
cd myapp

配置数据库

在Heroku上,默认会使用PostgreSQL作为数据库,所以你需要确保在Gemfile中包含以下内容:

gem 'pg'

然后运行以下命令以安装gem:

bundle install

接下来,修改config/database.yml以适应Heroku环境:

production:
  adapter: postgresql
  encoding: unicode
  database: myapp_prod
  pool: 5
  username: <%= ENV['DATABASE_USERNAME'] %>
  password: <%= ENV['DATABASE_PASSWORD'] %>
  host: <%= ENV['DATABASE_HOST'] %>

在Heroku上创建数据库时,系统会自动配置这些变量。

初始化Git仓库

在部署之前,你需要确保你的Rails应用被纳入Git版本控制:

git init
git add .
git commit -m "Initial commit"

部署到Heroku

使用Heroku CLI创建一个新的应用:

heroku create myapp

这将会为你的应用分配一个唯一的URL。接下来,可以通过以下命令将代码推送到Heroku:

git push heroku master

运行迁移

一旦代码成功推送到Heroku,我们需要运行数据库迁移:

heroku run rails db:migrate

这将会在Heroku的生产环境中应用你的数据库迁移。

配置环境变量

Heroku支持环境变量的配置,可以用来存储敏感信息,如API密钥等。使用以下命令设置你的环境变量:

heroku config:set DATABASE_USERNAME=<your_username>
heroku config:set DATABASE_PASSWORD=<your_password>
heroku config:set DATABASE_HOST=<your_database_host>

确保将 <your_username><your_password><your_database_host>替换为真实的信息。

访问你的应用

一切设置完成后,你可以通过以下命令打开部署的应用:

heroku open

或者直接访问 https://your-app-name.herokuapp.com

监控与日志

你可以使用Heroku的日志来监控应用状态:

heroku logs --tail

这将实时显示应用的日志信息,帮助你及时发现问题。

总结

在本章中,我们学习了如何在Heroku平台上部署Rails应用。从创建新的Rails应用、配置数据库,到将代码推送到Heroku,我们覆盖了整个部署过程。Heroku为开发者提供了一个简便的平台来快速上线应用,而不需要担心基础设施的管理。在下一章中,我们将进一步探讨服务器的配置与优化,以确保我们的应用在生产环境中能够正常运行和高效运作。

🌟Rails 入门 (滚动鼠标查看)