heroku部署rails应用

heroku是什么

heroku是一个专门用来部署rails和其它web应用的云服务平台,如果你正在学习开发基于ruby on rails的web应用,并希望能将应用部署在一个免费的服务器上运行,那么heroku无疑是一个比较好的选择,它集成了应用运行的基本环境,使得上线部署变得异常简单,下面的内容是作者在部署rails应用时的过程,仅供参考。

heroku安装

首先在本地安装 heroku cli即命令行程序,安装下载时记得勾选配置环境变量:
heroku安装指导
接着到heroku上注册一个账号,163、qq邮箱之类的好像都不能注册成功,可以试试outlook邮箱。
接着在本地执行:

heroku login -i

按照提示输入刚才注册账号及密码。
执行命令

heroku create webrails2020

在相应网站上可以看到生成项目成功:
项目生成成功
生成成功后会自动返回一个项目可访问的地址,那么恭喜,项目现在可以远程访问了。需要注意的是heroku也是由git进行版本控制的,所以相当于一个远程库,我们可将本地的项目关联到此项目,并不断的推送更新。

部署rails项目

heroku以扩展的形式支持postgresql,所以执行下面命令使得应用可以使用postgresql数据库:

heroku addons:create heroku-postgresql:hobby-dev

如果你在本地开发使用的不是postgresql,那么就要修改本地rails项目的gemfile文件,使得在开发和heroku上的生产环境都能够正常执行:

group :development do
  # 本地开发用mysql
  gem 'mysql2'
end
group :production do
  gem 'pg'
end

接着执行:

bundle install --without production

对config/database.yml文件进行修改

default: &default
  encoding: utf8mb4
  pool: 5
  
development:
  <<: *default
  adapter: mysql2 # 本地数据库是mysql的情况
  database: database_development # 自定义数据库对象名
  username: # 本地开发数据库用户名
  password: # 本地开发数据库密码
  host: localhost

test:
  <<: *default
  adapter: mysql2
  database: database_test

production:
  <<: *default
  adapter: postgresql # 重要
  encoding: unicode
  database: database_production 

接着将本地的项目推送到heroku上,不必与上面的应用名相同:

git push heroku master

可以看到heroku支持git管理,可以像对远程git仓库中的项目一样进行多人的协作开发,可以将多个用户加入对heroku上的应用的管理中,
第一次部署应用或以后对数据库有迁移时(针对rails项目)要使用命令:

heroku run rake db:migrate

应用部署到heroku平台上是直接进行运行的,如果足够幸运的话,你可以通过远程链接直接访问这个线上应用了。
执行下面的命令可以查看远程数据库的配置:

heroku config

可以对你的项目重命名,改变你的项目的访问地址

heroku rename new_app

一些问题

如果你的应用支持文件图片等上传到本地服务器,那么heroku只能保存2个小时,你会发现你的文件就会消失了,最好还是使用云服务器存储你的用户上传的图片或文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值