Rails在MacOS上搭建Heroku部署环境
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部署环境的更多相关文章
- 如何在 macOS 上搭建 PHP 开发环境
如何在 macOS 上搭建 PHP 开发环境 Linux, Nginx, MySQL, PHP $ php --version $ php -v # PHP 7.3.11 (cli) (built: ...
- 在 macOS 上搭建 Flutter 开发环境
下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-archive/#macos 若上述链接无法访问,可通过GitHub下载 https://githu ...
- 【JAVA】【Basic】MacOS上搭建JAVA开发环境
1. JRE 1.1. 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 1.1.1. dmg格式安装: ...
- 【Python】【Basic】MacOS上搭建Python开发环境
1. Python3 1.1. 下载地址:https://www.python.org/downloads/mac-osx/ 1.1.1. PKG包安装: 没啥可说的,点点点,下一步而已,不用手动配置 ...
- 【Go】【Basic】MacOS上搭建GO开发环境
1. GO下载 1.1. 下载地址:https://www.golangtc.com/download (需要科学上网) 1.1.1. PKG安装: 下载这个包:go1.9.2.darwin-amd6 ...
- Ruby on Rails Tutorial 第一章 之 Heroku部署
1.目的:用Heroku将开发环境部署到生产环境中.Heroku专门用于部署Rails和其他Web应用,部署Rails应用的过程非常简单——只要源码纳入Git版本控制系统就好. 2.搭建Heroku部 ...
- 在WP8上搭建cocos2d-x开发环境
在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...
- Windows系统上搭建Clickhouse开发环境
Windows系统上搭建Clickhouse开发环境 总体思路 微软的开发IDE是很棒的,有两种:Visual Studio 和 VS Code,一个重量级,一个轻量级.近年来VS Code越来越受欢 ...
- 如何在Windows上搭建Android开发环境
Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...
随机推荐
- 《Java面向对象设计》
<Java面向对象设计> 第一章 面向对象软件工程与UML p理解为什么需要软件工程 p掌握软件工程的基本概念 p掌握软件生命周期各个阶段的主要任务 p了解流行软件开发过程 p了解软件过程 ...
- ubuntu 添加右键打开方式,无法添加程序打开方式
最近把工作环境迁移到ubuntu,装了WPS for Linux ,说实话确实是十分良心啊!运行效率奇高,绿色无广告,并且和windows版本无异,感觉就可以抛弃自带的libreoffice了. 但是 ...
- mongol学习
启动mongodb 服务器: 进入mongodb文件夹:cd ~/mongodb 第一次先要创建set与log文件夹. mkdir set; mkdir log; 并创建 ...
- 将 Net 项目升级 Core项目经验:(一)迁移Net项目为Net Core\Standard项目
迁移Net项目为Net Core\Standard项目 背景: 我们公司内部有自己ORM开发框架,最新因为需要将系统迁移到国产服务器上,所以首先需要将最基础的ORM框架改造可以运行在国产服务器上.对于 ...
- bzoj4919 [Lydsy1706月赛]大根堆
Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你需要选择尽可能多的节点,满足大根堆的性质: ...
- ●Joyoi 收集邮票
题链: http://www.joyoi.cn/problem/tyvj-2325题解.1: 期望dp,(平方的期望不等于期望的平方...) 在这个题上坑了好久,也算是对期望的理解又深了一些. 很好的 ...
- ●HDU 4787 GRE Words Revenge
题链: http://acm.hdu.edu.cn/showproblem.php?pid=4787 题解: AC自动机(强制在线构造) 题目大意: 有两种操作, 一种为:+S,表示增加模式串S, 另 ...
- hdu 4283 区间dp
You Are the One Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)T ...
- [POJ]1279: Art Gallery
题目大意:有一个N边形展馆,问展馆内有多少地方可以看到所有墙壁.(N<=1500) 思路:模板题,半平面交求出多边形的核后计算核的面积. #include<cstdio> #incl ...
- 【Gcd】
[题目描述] 有 n 个正整数 x1~xn,初始时状态均为未选.有 m 个操作,每个操作给定一个编号 i,将 xi 的选取状态取反.每次操作后,你需要求出选取的数中有多少个互质的无序数对. [输入数据 ...