在Heroku上部署(托管)Rails项目

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

①、安装heroku:

$ gem install heroku

②、先要生成一个公钥,使用命令:

$ ssh-keygen -t rsaGenerating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
a6:88:0a:bb:74:70:c6:e0:d5:49:65:e3:04:d5:6c:3e user@workstation.local

把公钥加入到Heroku

$ heroku keys:add
Uploading ssh public key /home/user/.ssh/id_rsa.pub

如果想删除公钥,可以用命令:

$ heroku keys:remove user@workstation.local

查看公钥,用命令:

$ heroku keys


③、现在就可以创建一个项目了(预先要安装好rails)。

$ rails myapp            (如果是已有的应用,这一步可以跳过)
$ cd myapp
$ git init
$ git add .
$ git commit -m "my first commit" 
Created initial commit 5df2d09: my first commit
44 files changed, 8393 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100644 Rakefile
create mode 100644 app/controllers/application.rb
...



④、把这个项目创建到Heroku上。

$ heroku create myapp      
Enter your Heroku credentials.
Email: user@example.com
Password: 
Uploading ssh public key /home/user/.ssh/id_rsa.pub(当第一次运行heroku命令时,要求输入Email,password,这个是你在Heroku注册的Email和密码,以便创建~/.heroku/credentials文件,这个文件记录了你输入的用户名和密码,以后就不再需要输入了。)



⑤、接下来运行:

$ git push heroku masterCounting objects: 65, done.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (65/65), 80.54 KiB, done.
Total 65 (delta 14), reused 0 (delta 0)
-----> Heroku receiving push
-----> Rails app detectedCompiled slug size is 0.1MB
-----> Launching....... doneApp deployed to Heroku
To git@heroku.com:vivid-mountain-91.git
* [new branch]      master -> master



⑥、再做一个数据库迁移:

$ heroku run rake db:migrate


现在就可以像平常使用Rails一样编写程序了。

更新代码可以用:

$ git push heroku master

将本地数据更新到Heroku网站上:

要打开网页浏览,就可以用

$ heroku open


备注:

因为heroku是用postgresql作为数据库,而且css编译时会用到gem,所以记得在production环境中加入pg和rails_12factor这两个gem,如下:

group :production dogem 'pg'gem 'rails_12factor'
end


转载于:https://my.oschina.net/H7QMCSeOLOxu/blog/184227

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300487.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java关于异常的面试程序题_Java挑战:最难的十个面试题(附答案)「下」

原标题:Java挑战:最难的十个面试题(附答案)「下」版权声明:本文为CSDN博主「华为云」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/devcloud/a…

数学知识点大集合!有了它学数学真的很简单!

▲ 点击查看很多学生对于数学这门学科都有莫名的恐惧感,不知道怎样学才能学得好。其实,好的方法能让学习效率达到最佳效果。有的时候,孩子学习不好,真的不是因为孩子笨,而是这种方法不适合孩子。其实小学数学学习的难度…

使用 Blazor 开发内部后台(三):登录

James: 《使用Blazor开发内部后台》系列是技术社区中一位朋友投稿的系列文章,介绍自己为公司的 WebForm 遗留系统使用 Blazor 重写前端 UI 的经历。本文为第三篇,如果错过了前两篇,建议先阅读一下:使用 Blazor 开发内部后台&#…

论文排版怕翻车?这个排版神器是时候用起来了!

全世界只有3.14 % 的人关注了青少年数学之旅相信每年临近准备毕设或者毕业论文的同学会遇到这些问题:“我的毕业论文提交一次就被导师批评一次,内容不行就算了,格式也有问题!改论文改到绝望”“期刊的版式要求不是统一的&#xff…

.NET Day in China(上海)| 线上线下

点击蓝字关注我们活动简介.NET 6 Preview 6 在 7月14日已经发布,.NET 6 是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本,意义重大,微软在 .NET 6 引入了 MAUI,跨平台开发将更为简单,ASP.NET Core 也在不断的…

java综合图形界面程序设计_java综合图形界面程序设计.doc

java综合图形界面程序设计.doc还剩10页未读,继续阅读下载文档到电脑,马上远离加班熬夜!亲,喜欢就下载吧,价低环保!内容要点:[键入文字]10四、实验小结(包括问题和解决方法、心得体会等)这次课程…

[导入]C++程序随笔

C程序的一些随笔文章来源:http://blog.csdn.net/jaopen/archive/2006/03/13/622822.aspx

你有见过从肚子里抽出来的脂肪吗? | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅不在家?快递给你放火烧了科普中国我在偷窥你上网...英式没品笑话学校食堂全新版本的空调苍南派轮世界各国的数学水平天秀bot你永远不知道外卖商家还有什么隐藏“绝活”图片迷惑行為大賞你有见过肚子里抽出来的脂肪吗&…

.NET Day in China(上海-7.24)| 线上线下

点击蓝字关注我们活动简介.NET 6 Preview 6 在 7月14日已经发布,.NET 6 是微软开启全平台统一一个 .NET 计划以来的第一个 LTS 版本,意义重大,微软在 .NET 6 引入了 MAUI,跨平台开发将更为简单,ASP.NET Core 也在不断的…

javasript 面向对象

JavaScript. 是一种解释型的、基于对象的脚本语言。尽管与 C、C# 这样成熟的面向对象的语言相比,JavaScript的功能要弱一些,但对于它的预期用途而言,JavaScript的功能已经足够大了。但是由于各种各样的原因,我们在实际进行开发的过…

砸4亿美元,GE豪赌的全球最大风力发电机到底多大?

全世界只有3.14 % 的人关注了青少年数学之旅叶片长达107米,转子直径为220米,轮毂高度为135米,叶尖最大高度为260米,几乎是纽约自由女神像从地面到火炬尖端高度的三倍。这就是巨头GE豪赌的全球最大风力发电机:Haliade-X…

VisualStudio配置中文提示

开篇语IntelliSense 是一种代码完成辅助工具,可以在不同的集成开发环境 (IDE) 中使用,例如 Visual Studio。默认情况下,在开发 .NET 项目时,SDK 仅包含英语版本的 IntelliSense 文件。虽然推荐使用英文,可以熟悉和学习…

丢失日志文件的风险与对策

实验背景:在备份与恢复数据库时,偶尔使用分离/附加的方法。如果在附加时丢失了或者删除了日志文件(LDF),可能会有哪些风险呢?下面通过实验来验证。一、搭建环境1. 创建数据库CREATE DATABASE [db01] ON PR…

A和G cup的差距究竟有多大?| 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅太阳其实一直在狂奔太阳带着地球等行星以250km/s的速度在绕着银河系公转每转一圈需要2.5亿年图源见水印A罩杯和G罩杯的差距有多大錶情包运动鞋后面的这个东西原来是用来晒鞋子的抖音然一往一捆蛏子上撒盐会发生什么?残酷的…

Javascript函数调用的四种模式

Javascript一共有四种调用模式:方法调用模式、函数调用模式、构造器调用模式以及apply调用模式。调用模式不同,对应的隐藏参数this值也会不同。 函数作为对象的属性时,称为方法。此时函数(即方法)中的this对应是该对象…

我背着女朋友,用 Python 偷偷抓取了她的行踪

全世界只有3.14 %的人关注了青少年数学之旅1目 标 场 景有时候女朋友一个人在外面玩耍,问她在哪个地方,就是不告诉我。但是,你又很想知道女朋友的「位置」,这该如何是好?其实你可以这样套路女朋友,假装自己…

ASP.NET Core 中的规约模式(Specification Pattern )——增强泛型仓储模式

原文链接:https://codewithmukesh.com/blog/specification-pattern-in-aspnet-core/在本文中,我们将讨论在 ASP.NET Core 应用程序中实现规约模式以及它如何增强现有的泛型仓储模式。我们将从头开始构建具有泛型仓储模式、Entity Framework Core的 ASP.N…

动画演示男性结扎手术 | 今日趣图

全世界只有3.14 % 的人关注了青少年数学之旅流鼻涕了怎么办?医学教育徐琦招聘程序员啦知识萌死大丧失;图熊本科技把下列句子补充完整图三好学生李宇幼年的大象喝水并不会使用鼻子而是趴在水里直接用嘴大喝一顿它们9个月之后才会懂得用鼻子喝水科普斯基请…

AspNetCoreMassTransit Courier实现分布式事务

在之前的一篇博文中,CAP框架可以方便我们实现非实时、异步场景下的最终一致性,而有些用例总是无法避免的需要在实时、同步场景下进行,可以借助Saga事务来解决这一困扰。在一些博文和仓库中也搜寻到了.Net下实现Saga模式的解决方案MassTransit…

设置列表字段为主键

转贴:Sample event handler to set a field as a pr imary key (enforce no duplicates) Got this as a request from a reader- how to prevent users from adding items with same titles as ones that already exist in the list. Codeusing System;using System.Collectio…