heroku只是用postgresql,而不能兼容sqlite数据库.所以很重要的一步就是在部署实际产品的时候将数据库类型修改为postgresql,否则你将无法push到heroku上去.

heroku官方的说明在这里:

https://devcenter.heroku.com/articles/sqlite3

你可以在rails创建的时候就默认使用postgresql数据库:

  1. rails new you_web -d postgresql

否者你就在Gemfile中自己手动按实际需要修改数据库类型,但别忘记了config目录里的database.yml内容也要做对应修改,下面是一个例子:

  1. development:
  2. adapter: postgresql
  3. encoding: unicode
  4. database: demo_app_development
  5. pool: 5
  6. username:
  7. password:
  8. test:
  9. adapter: postgresql
  10. encoding: unicode
  11. database: demo_app_test
  12. pool: 5
  13. username:
  14. password:
  15. production:
  16. adapter: postgresql
  17. encoding: unicode
  18. database: demo_app_production
  19. pool: 5
  20. username:
  21. password:

接下来在实际执行bundle install的时候会出点意外,因为你还没有在本地安装postgresql,在MacOS下你可以使用brew来安装:

  1. brew install postgresql

这是因为pg gem有系统原生内容,所以需要一些头文件和库文件来帮助编译.接着再安装对应的gem:

  1. gem install pg
  2. bundle install

这下应该正常了,你可能还要按需求创建postgresql用户,和开启postgresql服务:

  1. pg_ctl -D /usr/local/var/postgres start
  2. //or
  3. brew services start postgresql

具体功能你可以到postgresql官网上去查询.

你当然已经在Heroku的主页上注册并激活了用户,接下来你还要在本地安装heroku client,你可以在Heroku主页中下载安装,不过貌似基本龟速,所以你还得用brew来安装,必要时可以考虑FQ哪!

  1. brew install heroic
  2. //blablabla...
  3. brew info heroku
  4. heroku: stable 5.6.11-3b6a56e
  5. Everything you need to get started with Heroku
  6. https://cli.heroku.com
  7. /usr/local/Cellar/heroku/5.6.11-3b6a56e (13,077 files, 81.6M) *
  8. Built from source on 2017-01-11 at 08:46:48
  9. From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/heroku.rb
  10. ==> Requirements
  11. Required: arch

好了,我们安装好了Heroku前端,现在需要用你注册的用户登录Heroku:

  1. heroku login

然后现在进入Rails应用程序目录在Heroku在其服务器上创建一个区域放置你的application:

  1. heroku create
  2. Created http://stormy-cloud-5881.herokuapp.com/ |
  3. git@heroku.com:stormy-cloud-5881.herokuapp.com
  4. Git remote heroku added

不出意外的话,你已经在Heroku服务器上成功创建了对应的App,并且创建了一个名为heroku的git remote源.

现在你需要将你本地的web app推送到Heroku服务器中:

  1. git push heroku master

这时如果你性急打开http://stormy-cloud-5881.herokuapp.com/这个heroku为你web app生成的地址,你可能要失望了,呈现在你面前的将会是一个错误页面:

不过别担心,什么都没出错,只是你需要将app配置中的一个选项打开,进入config/environments目录,打开其中的production.rb文件,将其中的config.serve_static_assets属性改为true,保存!

我们还需要在Heroku服务器上创建数据库文件,执行以下命令:

  1. heroku run rake db:migrate

至此,Heroku的部署基本完成,你可以open你在Heroku上的网站了 ;)

Rails在MacOS上搭建Heroku部署环境的更多相关文章

  1. 如何在 macOS 上搭建 PHP 开发环境

    如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...

  2. 在 macOS 上搭建 Flutter 开发环境

    下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-archive/#macos 若上述链接无法访问,可通过GitHub下载 https://githu ...

  3. 【JAVA】【Basic】MacOS上搭建JAVA开发环境

    1. JRE 1.1. 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 1.1.1. dmg格式安装: ...

  4. 【Python】【Basic】MacOS上搭建Python开发环境

    1. Python3 1.1. 下载地址:https://www.python.org/downloads/mac-osx/ 1.1.1. PKG包安装: 没啥可说的,点点点,下一步而已,不用手动配置 ...

  5. 【Go】【Basic】MacOS上搭建GO开发环境

    1. GO下载 1.1. 下载地址:https://www.golangtc.com/download (需要科学上网) 1.1.1. PKG安装: 下载这个包:go1.9.2.darwin-amd6 ...

  6. Ruby on Rails Tutorial 第一章 之 Heroku部署

    1.目的:用Heroku将开发环境部署到生产环境中.Heroku专门用于部署Rails和其他Web应用,部署Rails应用的过程非常简单——只要源码纳入Git版本控制系统就好. 2.搭建Heroku部 ...

  7. 在WP8上搭建cocos2d-x开发环境

    在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...

  8. Windows系统上搭建Clickhouse开发环境

    Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...

  9. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

随机推荐

  1. hdu1052 Tian Ji -- The Horse Racing---田忌赛马贪心

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1052 题目大意: 田忌和齐王各有N匹马,判断怎样比赛,使田忌净胜场数最多. 思路: 一开始贪心出错, ...

  2. WPF绘制光滑连续贝塞尔曲线

    1.需求 WPF本身没有直接把点集合绘制成曲线的函数.可以通过贝塞尔曲线函数来绘制. 贝塞尔曲线类是:BezierSegment,三次贝塞尔曲线,通过两个控制点来控制开始和结束方向. Quadrati ...

  3. ABP框架 - 我的第一个Web API

    本文示例源代码地址https://github.com/lcyhjx/abp-training 上一篇我们已经对ABP是什么,能做什么.有了一个印象.那么接下来我们将动手使用ABP框架快速开发一个AP ...

  4. springboot测试、打包、部署

    本文使用<springboot集成mybatis(一)>项目,依次介绍springboot测试.打包.部署. 大多数朋友是做后端的,也就是为其他系统或者前端UI提供Rest API服务. ...

  5. sqlserver数据库导入Mysql数据库问题

    近来遇到一个问题,之前的项目用的是SQLServer数据库,但是现在要换成MySQL数据库,所有整理了一些数据导入的步骤,供需要的人参考! 第一步: 第二步: 第三步: 第四步: 第五步: 第六步: ...

  6. [LeetCode] Binary Number with Alternating Bits 有交替位的二进制数

    Given a positive integer, check whether it has alternating bits: namely, if two adjacent bits will a ...

  7. mv&cp

    mv [选项] [源] [目标] 当目标不存在时,重命名源为目标 当目标存在时,若目标为目录文件,将源移动到目标文件里: 若目标为非目录文件,将源重命名为目标,并强制覆盖目标.   mv -b 1 2 ...

  8. vba打开输入文件

    Sub fileCreate2() Dim folderPath, fileName, s As String Dim fs, fo, fc, f As Object folderPath = &qu ...

  9. UVALive - 3027:Corporative Network

    加权并查集 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring&g ...

  10. ●BZOJ 1096 [ZJOI2007]仓库建设

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题解: 斜率优化DP $(d_i:i 位置到1位置的距离,p_i:i位置的成品数量,c ...