前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >部署一个Sinatra应用程序到Heroku

部署一个Sinatra应用程序到Heroku

作者头像
Seven塞文
发布2018-01-05 16:44:11
5.1K0
发布2018-01-05 16:44:11

Heroku是一个云应用程序平台,专门用于解决服务器管理问题。您只需构建您的应用程序,通过Git将其推送到Heroku,部署就完成了。但是该怎么部署一个Sinatra应用程序呢?让我们来看看…

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

Sinatra入门...

如果你刚刚开始接触Sinatra,你可能会觉得这个帖子有用。如果你准备使用Sinatra构建一个PHP应用程序的话,我写了一篇 Rubysource 的文章,向你展示如何用Sinatra创建一个博客应用程序。

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

假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件:

  1. Gemfile
  2. config.ru

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

代码语言:javascript
复制
source :rubygems
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

部署Sinatra应用程序你可能不需要了解这些:比如rdiscount和Pony。所以我将在稍后的帖子中讨论其他知识。像记录生产环境和开发环境的集群。和Heroku不支持Sqlite。

Sinatra是一个构建应用程序的工具,但Heroku不是。我们只需要一个文件来表明我们想如何让我们的应用程序运行:

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

代码语言:javascript
复制
require './main'
run Sinatra::Application

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

git init

安装Heroku Gem

您还需要安装Heroku gem:

gem install heroku

SSH密钥

您需要去生成SSH密钥。下面您可以在这里学习怎么生成SSH密钥

当您在命令行环境下,您需要将您的密钥添加到Heroku,以便于在您的电脑和Heroku的计算机之间安全地进行通信:

heroku keys:add

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

创建Heroku应用程序

回到命令行上: heroku create nameofapp

nameofapp是你想要给应用程序起的名字,要牢记形似下边这样的Heroku创建的应用程序对应的网址:nameofapp.herokuapp.com。

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

git push heroku master

你会看到Heroku收到推送请求,压缩文件,安装所需的Ruby gem,然后,没有问题的话,部署你的应用程序。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Sinatra入门...
  • 安装Heroku Gem
  • SSH密钥
  • 创建Heroku应用程序
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档