33 在Heroku上部署Rails应用

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

为什么选择Heroku?

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

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

开始之前

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

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

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

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

1
2
rails new myapp
cd myapp

配置数据库

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

1
gem 'pg'

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

1
bundle install

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

1
2
3
4
5
6
7
8
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版本控制:

1
2
3
git init
git add .
git commit -m "Initial commit"

部署到Heroku

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

1
heroku create myapp

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

1
git push heroku master

运行迁移

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

1
heroku run rails db:migrate

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

配置环境变量

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

1
2
3
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>替换为真实的信息。

访问你的应用

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

1
heroku open

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

监控与日志

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

1
heroku logs --tail

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

总结

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

33 在Heroku上部署Rails应用

https://zglg.work/rails-zero/33/

作者

IT教程网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论