部署一个Sinatra应用程序到Heroku

Heroku是一个云应用程序平台,专门用于解决服务器管理问题。您只需构建您的应用程序,通过Git将其推送到Heroku,然后放松一下。那么当提到部署一个Sinatra应用程序呢?让我们来看看…

如果你读过我的文章:用Sinatra构建一个数据驱动的应用程序,你可能已经准备好尝试部署了。由于Sinatra是一个Ruby应用程序,所以部署起来并不像一个PHP应用程序那么简单,但它仍然不难。

Sinatra入门...

如果你刚刚开始入门Sinatra,你可能会觉得这个帖子有用。如果你已学过来自PHP的Sinatra,我写了一篇 Rubysource 的文章,向你展示如何用Sinatra创建一个博客应用程序。

您需要在Heroku有一个(免费)帐户。

假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件:

  1. Gemfile
  2. config.ru

我在上面的帖子中描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用:

gem 'sinatra'
gem 'rdiscount'
gem 'data_mapper'
gem 'dm-migrations'
gem 'pony'
gem 'dm-postgres-adapter', :group => :production
gem 'dm-sqlite-adapter', :group => :development
group :production do
  gem 'pg', '0.14.1'
end

你可能不需要这些:例如rdiscount和Pony。我将在稍后的帖子中讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。

Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。我们只需要一个文件来解释我们如何让我们的应用程序运行:

在config.ru你需要以下内容:

require './main'
run Sinatra::Application

你可以通过源代码管理系统Git部署到Heroku 。你可以从命令行初始化一个Git仓库:

git init

安装Heroku Gem

你还需要Heroku gem:

gem install heroku

SSH密钥

您将需要创建SSH密钥。可以在这里学习如何做到这一点

当在命令行中时,需要将您的密钥连接到Heroku,以便在Heroku的计算机之间进行安全通信:

heroku keys:add

系统会要求您添加您创建Heroku帐户的凭据。

创建Heroku应用程序

回到命令行上: heroku create nameofapp

nameofapp的位置是根据你想要你的应用程序取什么名决定的,铭记Heroku将用这样的网址创建你的应用程序:nameofapp.herokuapp.com。

然后,假设你已经提交了最新的更新,你可以这样做:

git push heroku master

你会看到Heroku收到推送,压缩文件,安装所需的Ruby gems,运气好的话,你将可以部署你的应用程序。

现在你需要做的就是继续开发你的应用程序,提交和Git推送到Heroku进行部署。

本文的版权归 QiqiHe 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在CentOS 7上安装OpenCart

OpenCart是面向在线商家的免费开源电子商务平台。OpenCart提供了一个专业可靠的基础,您可以以此为基础,成功建立一个在线商店。该基金会吸引了广泛的用户...

1154
来自专栏流柯技术学院

通过Google身份验证器加强Linux帐户安全

而后,google的验证模块就会被复制到/lib64/security目录下,而用来生成密钥的可执行程序:google-authenticator,则复制到/u...

631
来自专栏嵌入式程序猿

疯传|freeRTOS在恩智浦KV46MCU上的移植

经过前面对freeRTOS源码目录结构和例程的分析,接下来我们就动手来移植freeRTOS最新版源码包到NXP的kinetis系列KV46MCU上,并实现一个简...

2677
来自专栏搞前端的李蚊子

微信小程序模板消息详解

先放代码 wxml: <form name='pushMsgFm' report-submit bindsubmit='orderSign'> <vi...

4579
来自专栏Java与Android技术栈

多个语言项目发布JCenter仓库的小结

我在 JCenter 上发布过 Java、Android、Kotlin 的项目已经有数十个了。踩坑无数,所以写下这篇文章,作为记录和总结。

692
来自专栏七夜安全博客

Scrapy爬取美女图片第四集 突破反爬虫(上)

1523
来自专栏java一日一条

在 Visual Studio 上更好开发 Python 的六大功能!

Visual Studio 2013/2015 搭配 Python Tools for Visual Studio 扩充套件让 Visual Studio 能提...

471
来自专栏顶级程序员

11个让你吃惊的Linux终端命令

我已经用了十年的Linux了,通过今天这篇文章我将向大家展示一系列的命令、工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我。 ? 1.命...

4647
来自专栏Danny的专栏

【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

563
来自专栏IT笔记

世界上最好的语言搭建短链接及统计功能

前言 在这个营销的时代,短链接和二维码是企业进行营销中非常重要的工具,不仅仅是缩短了链接,而且还可以通过扩展获得更多的数据,诸如点击数、下载量、来源以及时间等等...

3188

扫码关注云+社区