33 在Heroku上部署Rails应用
在前一章中,我们讨论了如何选择一个适合的Rails应用部署方案。在本章中,我们将深入探讨如何通过Heroku来部署我们的Rails应用。作为一个云平台,Heroku 提供了简单易用的解决方案,让开发者能够快速部署和扩展应用。
为什么选择Heroku?
Heroku 是一个非常流行的PaaS(平台即服务)解决方案,特别适合Rails应用。它的优势包括:
- 简易化部署:通过命令行就可以轻松完成应用部署。
- 可伸缩性:可以随时根据需求调整资源。
- 集成了多种服务:如数据库、缓存和邮件服务等。
开始之前
在你开始之前,确保你的本地环境中安装了以下工具:
- Ruby
- Rails
- Git
- Heroku CLI(可以通过 Heroku CLI官网 安装)
确保你已经注册了一个Heroku账户,并使用命令 heroku login
登录到你的账户。
创建一个新的Rails应用(示例)
如果你还没有一个Rails应用,可以使用以下命令创建一个简单的示例应用:
1 | rails new myapp |
配置数据库
在Heroku上,默认会使用PostgreSQL作为数据库,所以你需要确保在Gemfile
中包含以下内容:
1 | gem 'pg' |
然后运行以下命令以安装gem:
1 | bundle install |
接下来,修改config/database.yml
以适应Heroku环境:
1 | production: |
在Heroku上创建数据库时,系统会自动配置这些变量。
初始化Git仓库
在部署之前,你需要确保你的Rails应用被纳入Git版本控制:
1 | git init |
部署到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 | heroku config:set DATABASE_USERNAME=<your_username> |
确保将 <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应用