首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图在heroku上安装deepstream.io

试图在heroku上安装deepstream.io
EN

Stack Overflow用户
提问于 2016-08-04 05:34:38
回答 1查看 303关注 0票数 0

在过去的一个小时里,我一直把头撞在墙上,试图让一台deepstream.io服务器在heroku上运行,但没有成功。

我尝试使用以下方法:https://github.com/deepstreamIO/ds-demo-heroku

我完全没有做任何修改就克隆了这个回购,并把它放在我自己的回购中,我的heroku应用程序就是这样做的。当heroku试图构建并运行它时,我在日志中看到了这一点:

就这样结束了。我做错了什么?

Sidenote:我读到过Heroku不允许为应用程序保留任何所需的端口,但是它传递了一个应用程序可以在变量中使用的端口?如果这是正确的,那么在一个终端需要可靠地连接到特定端口的服务器的生产环境中,这是如何工作的。如果由于某种原因,服务器应用程序崩溃了,然后重新启动,然后Heroku给它分配了一个不同的端口,现在所有的端点都无法连接。

其次,deepstream.io似乎需要指定两个端口(一个用于TCP非起始通信量,另一个来自“浏览器”通信量,参见https://deepstream.io/tutorials/core/getting-started-quickstart/)。如果Heroku只提供应用程序可以绑定到的一个端口,那么如果需要两个端口,deepstream.io又如何工作呢?

任何帮助都是非常感谢的--谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-04 08:21:58

错误是Error invalid schema, expected mongodb。你可以在原木上看到。

要使这个设置正常工作,您需要设置一个环境变量:MONGODB_URI,它用于配置文件

这个回购是与一个尚未出版的教程相结合创建的,我没想到有人会在此之前尝试:)

所以我现在把这个教程放到自述文件中:https://github.com/deepstreamIO/ds-demo-heroku

要解决您的问题,只需在您的配置文件禁用缓存和存储连接器或阅读教程,并完成所有步骤。

Sidenote 1:

$PORT是由heroku自动分配的内部端口。您应该始终使用外部端口,对于web应用程序来说,外部端口总是80。内部端口将只在您的应用程序内工作。这一点在本教程中也有解释。

Sidenote 2:

Deepstream通过HTTP websocket和TCP套接字提供连接。没错,不能同时使用heroku的两个端口,因为heroku不允许您管理多个端口。实际上,heroku也做不允许TCP连接。您可以只使用HTTP连接,浏览器可以使用它,也可以通过Node.js (这个问题是固定的之后)使用。

只有在性能对您非常重要时,才需要TCP套接字连接。但是在这种情况下,您应该从heroku转移到另一个提供者;)本教程中也提到了这个部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38759176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档