【问题标题】:Getting Sure you're not looking for /faye ? instead of my application on Heroku确定您不是在寻找 /faye 吗?而不是我在 Heroku 上的应用程序
【发布时间】:2012-02-07 23:18:08
【问题描述】:

这似乎应该是一个简单的问题。我正在尝试在 Heroku 上托管使用 Faye 的 Rails 3.1 应用程序,但我不断收到以下信息:

确定您不是在寻找 /faye 吗?

我明白这只是faye 服务器对我的回应。但是为什么它不启动我的应用程序,而是把我送到这里呢? (我关注parts of this application by the way)

这是我的 faye.ru

require 'faye'

faye_server = Faye::RackAdapter.new(:mount => '/faye', :timeout => 45)
run faye_server

我还有一个 config.ru,它只是默认的 config.ru 文件。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 heroku faye


    【解决方案1】:

    我很确定这是因为 Heroku 不允许我与 Rails 服务器同时运行 Faye 服务器。我认为唯一真正的解决方案是运行separate web process through Heroku,不幸的是,每月花费大约 35 美元。

    如果有人知道如何运行这两个流程而无需每月支付 35 美元,请告诉我。

    【讨论】:

    • @Amala 我查看了 pusher,但问题是我的应用程序基本上是聊天室的集合,所以 20 个连接(或者甚至 100 个)对我来说毫无用处。
    • 你不能为 faye 运行另一个 Heroku 项目并在你的应用程序中使用那个 URL 吗?
    【解决方案2】:

    为 faye 运行另一个 Heroku 项目,https://github.com/ntenisOT/Faye-Heroku-Cedar-RedisToGo

    关于 SO 的其他问题:Is it possible to host FAYE, on Heroku?

    你回答了你自己的问题,Heroku 只允许每个 slug 一个服务器。在 Heroku 上使用免费的 redis 实例时,您可能仍然会遇到问题。它限制为 5mb。还有 pubnub 代替 pusher,http://www.pubnub.com/pricePubnub 有帮助文档。还可以选择在微型实例上免费在 EC2 上运行您的应用一年(虽然速度很慢)

    另一个很酷但工作量更大的选择是使用 Torquebox(jruby 应用服务器)。您必须找到不同的主机,但它具有内置消息传递功能。

    【讨论】:

    • SO 问题似乎没有已解决的答案,但我会尝试您的第一个建议。 github 页面的文档似乎很差——我不知道他们有两个独立的 Heroku 应用程序,一个用于 Faye,一个用于 Rails!
    • 我会去 PubNub 看看。我假设您无需其他服务器实例即可运行它?
    • 你会读到它,它是一个类似推送器的服务。编辑我的答案更清楚。
    • Faye 的第二个应用程序似乎无法正常工作。我将它设置为就像 github 页面中的应用程序一样...知道为什么这可能不起作用或如何找到错误?
    • 您必须比这更具体;-) 只需创建另一个堆栈溢出问题,或者在他们的 github 页面上提出问题。我跑了 faye,但我在专用的 EC2 微实例上运行它。这是一个带有 Thin/event machine 的机架应用程序,因此它应该可以在 Heroku 上运行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 1970-01-01
    • 2014-08-23
    • 2020-06-26
    • 2021-08-31
    相关资源
    最近更新 更多