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

部署一个Sinatra应用程序到Heroku

如果你准备使用Sinatra构建一个PHP应用程序的话,我写了一篇 Rubysource 文章,向你展示如何用Sinatra创建一个博客应用程序。 您需要在Heroku有一个(免费)帐户。...假设您认为本地应用程序没有问题了,接下来要做是确保您有下边这些文件: Gemfile config.ru 我在上面的帖子描述Gemfile包含在应用程序中使用所有Ruby gems引用: source...:rubygems gem 'sinatra' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations' gem 'pony' gem 'dm-postgres-adapter...pg', '0.14.1' end 部署Sinatra应用程序你可能不需要了解这些:比如rdiscount和Pony。...所以我将在稍后帖子讨论其他知识。像记录生产环境和开发环境集群。和Heroku不支持Sqlite。 Sinatra是一个构建应用程序工具,但Heroku不是。

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

部署一个Sinatra应用程序到Heroku

假设您对本地应用程序感到满意,接下来要做是确保您有一些文件: Gemfile config.ru 我在上面的帖子描述Gemfile包含对应用程序中使用所有Ruby gems引用: gem 'sinatra...' gem 'rdiscount' gem 'data_mapper' gem 'dm-migrations' gem 'pony' gem 'dm-postgres-adapter', :group...' end 你可能不需要这些:例如rdiscount和Pony。...我将在稍后帖子讨论这些。记下生产和发展群组。Heroku并不支持Sqlite。 Sinatra是一个Rack应用程序,但Heroku与这些没有任何障碍。...可以在这里学习如何做到这一点 当在命令行时,需要将您密钥连接到Heroku,以便在Heroku计算机之间进行安全通信: heroku keys:add 系统会要求您添加您创建Heroku帐户凭据

2.6K60

何在Ubuntu上安装Ruby和Sinatra

与日益流行Ruby on Rails框架不同,在Sinatra上创建应用程序可以由单个文件组成,这块完全取决于Sinatra gem。...在这篇文章,我们将学习如何在Ubuntu CVM上安装最新版本官方Ruby解释器以及Sinatra Web应用程序开发库。之后,我们将创建一个示例项目并继续进行实际部署。...运行以下命令以使用gem安装Sinatragem install sinatra 创建www用户组和部署用户 在我们完成所有安装之后,是时候进入基础并创建一个Linux组和一个用户来托管Web应用程序...运行以下命令,使用nano编辑器在应用程序目录my_app创建app.rb: nano app.rb 复制并粘贴以下代码块: require 'rubygems' require 'sinatra/base...并使用bundle执行这些gem安装: bundle install 测试应用程序(机架) 为了测试您应用程序,您只需使用rackup运行测试服务器即可。

1.6K40

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

举个例子,下面代码DockerFile可以用来定义一个微服务Docker镜像,它使用了Ruby和Sinatra框架: FROM ubuntu:14.04 MAINTAINER John Doe <...c "gem install sinatra" RUN /bin/bash -l -c "gem install thin" 使用这个镜像建立容器可以便捷地被部署到一个主机上,这个主机同时还运行了另一个使用...无状态应用程序设计 微服务架构创建者倾向于在任何可能情况下使用状态服务、而不是有状态服务。...有状态服务 尽管无状态应用程序设计是大势所趋,但在许多系统状态是不可避免。...现代软件开发者所用到数据服务在不断增长。随着微服务架构逐渐成为规范,开发者和架构师开始在应用程序不同地方使用不同类型数据服务。要解析几十亿日志信息?用ElasticSearch。

1.2K50

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

在先前文章,我谈到了如何使用 Linux 容器技术( Docker)简化开发和测试体验。...这是一个保证随时间推移不可维护代码公式。 微服务架构 微服务架构旨在解决这些问题。整体应用程序体系结构定义服务被分解为单独服务,并在不同主机上彼此分开部署。...Linux 容器使用内核接口( cname和命名空间),它们允许多个容器在完全隔离情况下共享相同内核。Docker 执行环境使用一个名为 libcontainer 模块,它将这些接口标准化。...gem install sinatra" RUN /bin/bash -l -c "gem install thin" 使用 Java 和 DropWizard 框架,从此镜像创建容器可以轻松放置在运行另一个从...Amazon ECS 管理集群运行所有基于容器应用程序状态,提供遥测和日志记录,并管理集群容量利用情况,从而实现高效工作安排。

1.5K51

《Prometheus监控实战》第8章 监控应用程序

第8章 监控应用程序 首先,考虑一些高级设计模式和原则 ---- 8.1 应用程序监控入门 应用程序开发存在一种常见反模式,即把监控和其他运维功能(安全性)视为应用程序增值组件而非核心功能。...对于长期业务指标,在许多情况下,你可能会使用基于事件系统 8.2.1 应用程序指标 应用程序指标可以衡量应用程序性能和状态,包括应用程序最终用户体验,延迟和响应时间 提示:一些好衡量应用程序性能例子是之前提到...email-payment指标用于计算发送付款电子邮件数量 8.2.5 外部模式 如果你不能控制代码库,无法在代码插入监控或测量内容,或者可能无法更改或更新旧应用程序,那么该怎么办?...最显著地方是应用程序周围输出和外部子系统,例如数据库或缓存 如果应用程序发出日志,那么可以识别日志包含内容,并查看是否可以使用这些内容来衡量应用程序行为 8.2.6 监控应用程序示例 mwp-rails...然后使用bundle命令安装新gem 代码清单:使用bundle命令安装prometheus-client ?

4.5K11

Pony.ai 基础架构挑战与实践

首先,车载系统通过一些传感器去感知真实世界,有激光雷达、摄像头等驱动收集真实世界信息,这些信息会传递给 Perception 模块,这个模块会实时感知车辆行驶周围环境,比如车辆周围有哪些车辆以什么样状态在行驶...日志记录也是车载系统需要提供非常重要功能功能,在自动驾驶过程,系统需要记录车辆运行过程。这样如果出现一些非预计情况可以通过日志信息进行 debug,来帮助系统持续演进。...同时,我们还会使用一些工具来及时发现问题,静态分析和 ASAN,还有监测内存泄露工具。...仿真平台有两个主要使用场景。第一,它需要支持真实路测收集场景,在路测可能出现某一个场景处理不好,需要能够对异常进行追溯和修复,需要在仿真平台进行复现来检验算法。...如何高效运营这个车队对配套服务要求很高,需要进行车辆状态管理、路测任务管理,还有车队运营实时监控,帮助车辆运营状态实时观测车辆状态

49520

Google 是如何设计 Ruby Serverless Runtime

Ruby 首先是一种面向对象语言。当我们编写代码并将其封装在 def 时,我们正在编写一个方法,这是响应发送给对象消息而运行代码。...函数范式通过坚持函数不共享状态(除非通过外部持久化系统,队列或数据库)来解决并发性问题。这实际上是我们选择使用块语法而不是方法语法另一个原因。...方法隐含对象,对象以实例变量形式携带状态,这些状态在无状态 FaaS 环境可能无法正常工作。回避方法是一种微妙但有效语法方法,可以阻止我们知道存在问题实践。...基于事件架构正在迅速普及,经常围绕事件队列, Apache Kafka。事件体系结构一个关键元素是描述事件本身标准方法,事件发送方、代理、传输和使用者都理解这种标准。...“零”devops,自动维护和扩容,不需要维护服务器,只需要为实际使用计算资源付费。

2.2K60

6.5 GitHub - 脚本 GitHub

电子邮件服务配置 在本例,如果我们点击 “Add service” 按钮,每次有人推送内容到仓库时,指定电子邮件地址都会收到一封邮件。...让我们看一个设置处理 web 钩子 web 服务小例子。 我们将会使用 Ruby web 框架 Sinatra,因为它相当简洁,应该能够轻松地看到我们正在做什么。...修改 Pull Request 状态 如果使用 Pull Requests 的话我们将要看到最后一个例子会很有用。 每一个提交可以有一个或多个与它关联状态,有 API 来添加与查询状态。...API 接口发送一个带有状态 POST 请求。...在本例可以发送一个状态(success, failure, error)、一个发生了什么描述信息、一个用户可以了解更多信息目标 URL 与一个 “context” 以防一个单独提交有多个状态

2.8K40

go语言最快最好运用最广web框架比较(大多数人不了解特性)

类似 Sinatra API (Sinatra-like API) 类似于SinatraAPIRegister在运行时处理程序中用于特定HTTP方法(和路径参数)路由。...当框架支持此功能时,您可以在发送到客户端之前检索或重置或修改写入状态代码,正文和标题(在基于net/httpWeb框架,默认情况下这是不可能,因为无法检索或更改正文和状态代码 书面)。...Gzip 当你在路由处理程序并且你可以更改响应编写器以便使用gzip压缩发送响应时,框架应该处理已发送头文件,如果发生任何错误,它应该将响应写入恢复正常。...上面的简单测试检查/admin是否以状态OK响应,并且使用特定用户名和密码传递身份验证,并且其正文为welcome。...日志系统(Logging System) 自定义日志记录系统通过提供诸如颜色编码,格式化,日志级别分离,不同日志记录后端等有用功能来扩展本机日志包行为。

2.6K40

Pony 编程语言简介

不变是,所有计算都由通过异步消息进行通信 actor 来执行。 你可以用这种方式来看待 Actor 模型:面向对象对象是状态 + 同步方法,而 actor 是状态 + 异步方法。...当一个 actor 收到一个消息时,它执行相应方法。该方法可以在只有该 actor 可访问状态下运行。Actor 模型允许我们以并发安全方式使用可变状态。每个 actor 都是单线程。...一个 actor 两个方法绝不会并发运行。这意味着,在给定 actor ,数据更新不会引起数据竞争或通常与线程和可变状态相关其他问题。...Pony 语言中每种变量类型都包含了有关如何在 actor 之间分享数据信息。Pony 编译器用这些信息来确认,在编译时,你代码是无数据竞争和无死锁。...开始使用 Pony 如果你准备好开始使用 Pony,你需要先在 Pony 网站上访问 学习部分。在这里你会找到安装 Pony 编译器步骤和学习这门语言资源。

1.5K20

为PHP站点开启自定义Apache服务器模块

这种架构可轻松扩展可选功能,第三方插件和自定义修改。当然,新模块并不总有适合每个问题解决方案。...今天我们将介绍Apache模块体系结构关键点,并向你展示如何在Jelastic ZEROCodeChange PaaS启用它们。...1.png 几秒钟后,你环境将再Jelastic面板显示可用状态。 2.png 建立你Apache服务器模块 1.从APXS下载与Apache服务器同一版本Apache httpd。...在我们案例,我们使用是Apache 2.2.15,所以我们下载并安装httpd 2.2.15。 2.在Apache模块列表中下载所需模块源。...为了这个案例需求,我们将使用一个名为mod_pony娱乐模块。 3.下一步是你对Apache模块编译。

1.7K120
领券