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

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

作者头像
Techeek
发布2018-01-05 17:36:13
2.6K0
发布2018-01-05 17:36:13
举报
文章被收录于专栏:云计算云计算

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

如果你之前参照了我的文章用Sinatra构建一个由数据驱动的应用程序,那么你可能已经迫不及待地想要进行部署了。由于Sinatra是一个Ruby应用,所以部署起来并不像一个PHP应用程序那么简单,但它也不算难。

Sinatra入门

如果你刚刚开始接触Sinatra,这个帖子或许会帮到你。如果你具有PHP的基础或一定的开发能力,并想尝试Sinatra,这里有一篇Rubysource的 文章,向你展示如何用Sinatra创建一个博客应用程序。

首先你需要在Heroku上有一个账户(注册是免费的)

如果你对你的程序在本地环境的运行情况感到满意(即你已经完成了应用程序的开发,并且其在本地运行没有问题),接下来要做的是确保你有以下文件:

  1. Gemfile
  2. config.ru

其中Gemfile包含对应用程序中使用的所有Ruby gem的引用:

代码语言:ruby
复制
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

你可能不需要其中的一些gem:比如rdiscount和pony。我将在之后的帖子中讨论这一部分。请留意生产和开发的环境,Heroku不支持Sqlite。

Sinatra
Sinatra

需要注意的是,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推送:

git push heroku master

然后Heroku会收到git推送和压缩文件,并安装所需的Ruby gem,最后不出意外的话便会成功地部署你的应用程序。

完成了这些之后,就可以继续开发应用程序并使用Git推送到Heroku进行部署了。

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