首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

部署一个Sinatra应用程序到Heroku

但是该怎么部署一个Sinatra应用程序呢?让我们来看看… 如果你读过我的一篇用Sinatra构建一个数据驱动的应用程序的文章,你可能已经准备好尝试部署了。...由于Sinatra是一个Ruby应用程序,所以部署起来并不像要部署一个PHP应用程序那么简单,但它仍然并不是太困难。 Sinatra入门......假设您认为本地的应用程序没有问题了,接下来要做的是确保您有下边这些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含在应用程序中使用的所有Ruby gems的引用: source.../main' run Sinatra::Application 您可以通过源代码管理系统Git部署到Heroku 。...然后,假设你已经提交了最新的更新,你可以这样做: git push heroku master 你会看到Heroku收到推送请求,压缩文件,安装所需的Ruby gem,然后,没有问题的话,部署你的应用程序

5.1K110
您找到你想要的搜索结果了吗?
是的
没有找到

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

由于Sinatra是一个Ruby应用,所以部署起来并不像一个PHP应用程序那么简单,但它也不算难。 Sinatra入门 如果你刚刚开始接触Sinatra,这个帖子或许会帮到你。...如果你对你的程序在本地环境的运行情况感到满意(即你已经完成了应用程序的开发,并且其在本地运行没有问题),接下来要做的是确保你有以下文件: Gemfile config.ru 其中Gemfile包含对应用程序中使用的所有Ruby...我们只是需要一个文件来配置我们应用程序的运行方式: 在config.ru中你需要以下代码: require '..../main' run Sinatra::Application 通过Git(一种源代码管理系统)可以将应用程序部署到Heroku 。...(请你记住这一点) 然后,假设你已经完成了最新的更新,你可以这样做来使用git推送: git push heroku master 然后Heroku会收到git推送和压缩文件,并安装所需的Ruby gem

2.6K60

部署一个Sinatra应用程序到Heroku

那么当提到部署一个Sinatra应用程序呢?让我们来看看… 如果你读过我的文章:用Sinatra构建一个数据驱动的应用程序,你可能已经准备好尝试部署了。...由于Sinatra是一个Ruby应用程序,所以部署起来并不像一个PHP应用程序那么简单,但它仍然不难。 Sinatra入门... 如果你刚刚开始入门Sinatra,你可能会觉得这个帖子有用。...假设您对本地应用程序感到满意,接下来要做的是确保您有一些文件: Gemfile config.ru 我在上面的帖子中描述的Gemfile包含对应用程序中使用的所有Ruby gems的引用: gem 'sinatra.../main' run Sinatra::Application 你可以通过源代码管理系统Git部署到Heroku 。...然后,假设你已经提交了最新的更新,你可以这样做: git push heroku master 你会看到Heroku收到推送,压缩文件,安装所需的Ruby gems,运气好的话,你将可以部署你的应用程序

2.6K60

几种实用型Ruby Web开发框架介绍

本文对这些框架进行一个快速浏览,并试图解读他们业内人士欣赏(或忽视)的原因。   之前我们讨论过Merb,这也许是完成度最高的Rails替代者。...可以说它是与Rails最为接近的Ruby Web开发框架。   Camping将自己定义一个代码量保持在4k字节大小以下的Web开发框架。...Og提供自动化数据库进化功能:当Ruby变更后,Og会进行自动检测,同时改变对应的数据库。有些人总是会忘掉ActiveRecord的Migration功能。   ...Sinatra是基于最小化的DSL语法开发的,它的小型基础核心中不包括诸如ActiveRecord这样的模块。通过使用get/post action定义,Sinatra具备动态路由定义功能。...Ron指出,Sinatra不是Robust web应用开发的,而是为了用来搭建小型的原型,其中的混合业务逻辑和展示层并不是问题。   那这样做有什么好处呢?

2.4K00

再谈前后端分离

在实践中,契约可以定义一个JSON文件,或者一个XML的payload。只需要保证前后端共享同一个契约集合来做测试,那么集成工作就会从中受益。...1、moco,基于Java 2、wiremock,基于Java 3、sinatra,基于Ruby 看到sinatra被列在这里,可能熟悉Ruby的人会反对:它可是一个后端全功能的的程序库啊。...一个简单的做法是使用Sinatra来做一次url的转换: get '/api/feeds' do content_type 'application/json' File.open('mocks/feeds.json...后端开发 我在这个示例中,后端采用了spring-boot作为示例,你应该可以很容易将类似的思路应用到Ruby或者其他语言上。...然后我们预期返回的结果是一个长度3的数组,然后数组中的第一个元素的publishDate字段不为空。

1.1K80

前后端分离了,然后呢?

在实践中,契约可以定义一个JSON文件,或者一个XML的payload。只需要保证前后端共享同一个契约集合来做测试,那么集成工作就会从中受益。...moco,基于Java wiremock,基于Java sinatra,基于Ruby   看到sinatra被列在这里,可能熟悉Ruby的人会反对:它可是一个后端全功能的的程序库啊。...一个简单的做法是使用Sinatra来做一次url的转换: get '/api/feeds' do content_type 'application/json' File.open('mocks...然后我们预期返回的结果是一个长度3的数组,然后数组中的第一个元素的publishDate字段不为空。   ...代码   前后端的代码我都放到了Gitbub上,感兴趣的可以clone下来自行研究: bookmarks-frontend bookmarks-server

89370

旧安卓机别扔了!自制 Web 服务器了解一下

现在,我利用它运行一个Puma Web服务器,上面跑着一个简单的Sinatra应用。 在进一步介绍之前,你也许会想:这有什么实际的用途吗?...我还没有在安卓上部署任何“真正”的代码,但即使是最廉价的手机,一般也都有四核甚至八核CPU,至少2GB内存,所以理论上手机性能几乎接近最先进的云服务器(例如t2.nano就只有512MB内存)。...安装Ruby、Bundler、Sinatra和Puma Sinatra是一个轻量级的Web应用程序框架,而Puma是Web服务器。 Ruby就是Ruby!...在安卓上运行: pkg install ruby gem install sinatra puma 安装nginx nginx是Web服务器、反向代理和负载均衡器。...在我的配置中,我将其改成了 /data/data/com/termux/files/home/android-sinatra

2.8K40

使用容器构建微服务体系结构

在 Java 编程世界中,一种名为 “Model 2” 的设计模式迅速出现,其中涉及将应用程序代码放入 Java servlet 中,数据则放在名为 Java Bean 的中, 如图一所示: [1240...通过 MVC 设计模式,“ Controller ” 定义了使用名为 “router(路由)”映射到 URL 模式的方法。控制器方法利用 “Model” 来封装业务逻辑和核心应用程序实体的数据。...这种基于服务的架构被证明是非常强大的,因为它消除了对共享代码库的依赖,并且允许应用程序开发人员进一步分离他们的应用程序组件。...该应用程序被部署单个文件(即 Java)或以同一目录(即 Rails)根的文件集合。所有的应用程序代码都在同一个进程中运行。扩展需要将完全相同的应用程序代码的多个副本部署到多个服务器。...例如,下方的 DockerFile 可以定义一个使用 RubySinatra 框架的微服务 Docker 镜像: FROM ubuntu:14.04 MAINTAINER John Doe <jdoe

1.5K51

当微服务遇上Docker系列之构建、实践与颠覆

Linux容器技术使用了类似cnames和namespaces这样的内核接口,它允许不同容器共享相同的内核,同时容器之间还进行了完全的隔离。...Docker同样容器镜像提供了一个GitHub的资源库DockerHub,让容器的共享和发布非常简单,也正是这种相同主机上的容器隔离简易了不同语言开发的微服务代码部署。...举个例子,下面代码中的DockerFile可以用来定义一个微服务的Docker镜像,它使用了RubySinatra框架: FROM ubuntu:14.04 MAINTAINER John Doe <...--disabled-password --gecos '' sinatra RUN adduser sinatra sudo RUN echo '%sudo ALL=(ALL) NOPASSWD:...微服务鼓励软件开发者将整个软件解耦较小的功能片段,并且这些功能片段能够应对外界的故障,这我们带来了敏捷性和适应性。

1.2K50
领券