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

heroku官方的说明在这里:

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

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

rails new you_web -d postgresql

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

development:
  adapter: postgresql
  encoding: unicode
  database: demo_app_development
  pool: 5
  username:
  password:

test:
  adapter: postgresql
  encoding: unicode
  database: demo_app_test
  pool: 5
  username:
  password:

production:
  adapter: postgresql
  encoding: unicode
  database: demo_app_production
  pool: 5
  username:
  password:

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

brew install postgresql

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

gem install pg
bundle install

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

pg_ctl -D /usr/local/var/postgres start
//or
brew services start postgresql

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

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

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

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

heroku login

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

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

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

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

git push heroku master

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

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

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

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. CNN中减少网络的参数的三个思想

    CNN中减少网络的参数的三个思想: 1) 局部连接(Local Connectivity) 2) 权值共享(Shared Weights) 3) 池化(Pooling) 局部连接 局部连接是相对于全连 ...

  2. Centos下安装 .net Core运行程序

    首先要进行更新下镜像文件 sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc sudo sh -c 'echo -e ...

  3. web攻击和防御措施

    1.SQL注入:参照下面的链接 http://www.cnblogs.com/chenhaoyu/p/8758888.html 2.跨网站脚本攻击(Cross Site Scripting, XSS) ...

  4. 解决有关flask-socketio中服务端和客户端回调函数callback参数的问题(全网最全)

    由于工作当中需要用的flask_socketio,所以自己学习了一下如何使用,查阅了有关文档,当看到回调函数callback的时候,发现文档里都描述的不太清楚,最后终于琢磨出来了,分享给有需要的朋友 ...

  5. Python基础Day01

    Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  6. SQL学习之查询

    查询实例: 1.创建数据库并使用: create database school; use school; 2.创建表并插入内容: create table student( Sno char(9) ...

  7. bzoj 2436: [Noi2011]Noi嘉年华

    Description NOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不同的地点举办.每个嘉年华可能包含很多个活动, ...

  8. 51 nod 1456 小K的技术(强连通 + 并查集)

    1456 小K的技术 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题   苏塞克王国是世界上创新技术的领先国家,在王国中有n个城市 ...

  9. [BZOJ]4199: [Noi2015]品酒大会(后缀数组+笛卡尔树)

    Time Limit: 10 Sec  Memory Limit: 512 MB Description Input Output Sample Input 10 ponoiiipoi 2 1 4 7 ...

  10. bzoj 2212: [Poi2011]Tree Rotations

    Description Byteasar the gardener is growing a rare tree called Rotatus Informatikus. It has some in ...