专栏首页云计算部署一个Sinatra应用程序到Heroku

部署一个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 条评论
登录 后参与评论

相关文章

  • 在Heroku中部署一个Sinatra应用程序

    Heroku是一个专门用于解决服务器管理问题的云应用平台。你只需构建您的应用程序,然后通过Git将其推送到Heroku就可以了。那么如何部署一个Sinatra应...

    Techeek
  • 云原生应用程序:原因、内容及方法

    本文阐释了构建云原生应用程序的重要性、优点及其实现方式。

    Techeek
  • 在OS X上运行Docker

    在当今虚拟化的世界里,Docker是这个领域中的新生儿。在使用Linux系统时,配置和使用Docker几乎是轻而易举的。但是,如果你像许多极客一样使用OS X...

    Techeek
  • 在Heroku中部署一个Sinatra应用程序

    Heroku是一个专门用于解决服务器管理问题的云应用平台。你只需构建您的应用程序,然后通过Git将其推送到Heroku就可以了。那么如何部署一个Sinatra应...

    Techeek
  • 使用树莓派进行24小时视频直播

    为什么使用树莓派做这个事情呢,因为省电,不需要24小时开电脑,大部分网上24小时直播视频的都是使用电脑去做的

    bboysoul
  • Python爬虫项目--爬取猫眼电影To

    1. 浏览器打开猫眼电影首页, 点击"榜单", 点击"Top100榜", 即可看到目标页面. 

    py3study
  • Kubernetes+Prometheus+Grafana部署笔记

    Kubernetes(通常写成“k8s”)Kubernetes是Google开源的容器集群管理系统。其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应...

    KaliArch
  • Linux下Python连接MySQL异

    家里的电脑使用Linux操作系统,最近采集的数据需要存储到MySQL,本来使用web.py的时候使用MySQL是一切正常的,结果现在直接使用MySQLdb连接数...

    py3study
  • 荐读|掌握10到30种技术,只为创建一个大数据解决方案

    如今,大数据应用程序比常规应用程序复杂10倍,开发人员通常需要了解大量的技术,以使大数据能够正常工作。 大数据的应用仍然太难了。尽管有很多的炒作的成分,但大多...

    灯塔大数据
  • APP安全测试点概述

    目的是为了保护公司的知识产权和安全方面的考虑等,一些程序开发人员会在源码中硬编码一些敏感信息,如密码。而且若程序内部一些设计欠佳的逻辑,也可能隐含漏洞,一旦源码...

    软件测试君

扫码关注云+社区

领取腾讯云代金券