Articles of heroku

推杆/ PubNub替代使用Heroku上的node.js

我想用node.js构build我自己的多人游戏服务器,并在Heroku上部署代码。 我的问题是,如果我所描述的是可能的那样:) 我希望Android游戏的玩家能够连接到一个非常快速的(不一定是实时的)游戏服务器。 游戏服务器应该能够将它们分组到房间(频道)中,并且当它们在房间中时,它们应该能够发布和订阅 。 这意味着,我希望玩家通过node.js服务器交换游戏信息。 在服务器上,带ws的 node.js应该被用来让WebSocket服务器侦听这样的客户端事件: var WebSocketServer = require('ws').Server; var wss = new WebSocketServer({ port: 8080 }); var clientList = {}; wss.on('connection', function(ws) { ws['AUTH'] = getGUID(); clientList[ws['AUTH']] = ws; // ws['AUTH'] has joined the server ws.on('message', function(message) { for (var clientID in clientList) { clientList[clientID].send(message); } }); ws.on('close', function() { delete […]

执行“npm install”时出错

我是新来的。 我不知道这是否必须认真对待,或者我可以继续我所要做的。 只有在这里,我可以发布它的全部细节。 npm ERR! error installing express@3.3.5 npm ERR! error rolling back express@3.3.5 Error: UNKNOWN, unknown error '/home/ubuntu/vengit/node_modules/express' npm ERR! Unsupported npm ERR! Not compatible with your version of node/npm: connect@2.8.5 npm ERR! Required: {"node":">= 0.8.0"} npm ERR! Actual: {"npm":"1.1.4","node":"0.6.12"} npm ERR! npm ERR! System Linux 3.2.0-40-virtual npm ERR! command "node" "/usr/bin/npm" "install" npm […]

缩放Node.js应用程序 – 哪个提供程序?

我一直在使用一些Node.js框架来创build我通常使用Heroku进行部署的应用程序。 最近我在Derby的文档页面上看到了这个免责声明: 请注意,虽然Derby支持多个服务器,但它当前要求客户端重复连接到同一台服务器。 Heroku不支持粘滞会话或WebSocket,所以不可能使用多个dyno。 您将不得不使用不同的托pipe选项来扩展您的应用程序。 这显然与可扩展性有关。 由于上面的陈述,我明白这不是一个节点的限制,而是一个Heroku的限制。 首先,这是准确的吗? 那就是 – 我无法在Heroku上扩展Node应用程序? 如果这是事实,我应该在哪里转身? AWS? 谢谢。

在Heroku和Node.js上扩展websockets

让我们假设我有一个大的应用程序处理Heroku上有意义的websockets连接数量。 为了应付这样的大量需求,指令数增加到N Heroku的路由器如何在运行的dynos之间分配新的传入的websocket连接? 换句话说,如果其中一个dynos在websockets连接中最大化,Heroku的路由器将会偏离其他(据说)不太繁忙的dynos中的所有新的传入请求? 还是仍然使用http传入连接的文档中所述的随机分配? 这肯定是有道理的,因为websockets连接是第一个例子中的http连接。 但是,在N正在运行的dynos之间平均地扩展大量的持久连接是相当复杂的。 有人确认吗?

Heroku将Clojure应用程序检测为Node.js

Heroku通过存在像package.json或project.clj这样的文件来检测应用types。 我正在尝试构buildClojure应用程序,所以我在我的根目录下有project.clj 。 但是我也使用了一些node.js工具,所以我也有package.json 。 有没有办法告诉Heroku我build立了什么样的应用程序,但保持package.json ?

如何使用Sequelize for node.js和Heroku Postgres脚本同步和迁移操作?

Sequelize示例build议在app.js server.listen()之前执行此操作,这似乎太有限制了。 你将如何脚本更复杂的同步或迁移?

如何在同一个端口上运行express和geddy应用程序?

有一个使用geddy框架实现的现有node.js应用程序,它由Heroku的领class启动,如下所示: web: geddy 我正在把它变成一个Heroku插件。 Heroku有一种自动生成插件所需的框架代码的方法,但是它使用express来实现。 它由这个命令启动: web: node web.js 在内部,Heroku只为每个应用程序分配1个端口(将外部stream量路由到它)。 有没有办法在同一个端口上启动现有的geddy应用程序和附加快递应用程序? 或者有某种types的应用程序级别的路由器,会根据传入的请求path转发geddy或express?

在heroku上找不到模块“socket.io”

我已经研究过这个问题,但是我还没办法处理。 我的节点和socket.io简单的应用程序在我的本地计算机上运行良好,但不是在heroku上。 Socket.io包含在package.json中 我运行'heroku运行bash'并列出安装在heroku上的node_modules,而socket.io不在那里。 但在我的本地计算机socket.io似乎安装。 我'heroku摧毁myapp',然后再次创build它。 我几次运行以下脚本 git add . git commit -am "comment" git push heroku master 如何让heroku安装socket.io模块? 我不确定这是否是真正的问题。 任何线索? 非常感谢你。 Heroku日志: app[web.1]: connect.limit() will be removed in connect 3.0 app[web.1]: connect.multipart() will be removed in connect 3.0 app[web.1]: visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives app[web.1]: Express app started on port 21105 app[web.1]: app[web.1]: module.js:340 app[web.1]: […]

NodeJScallback:跟踪数据库调用,所以我可以终止进程

这个月我从Heroku收到一个账单,这令我感到意外。 幸运的是,只有几美元,但我认为我的使用率并不高。 我查了一下账单,说上个月我用了大约1000个小时。 我简单地感到困惑,因为我的应用程序每小时运行几秒钟发送一些电子邮件,但后来我意识到这个过程并没有终止。 在注释掉我的代码之后,我确定该进程不会因为我的mongoose数据库连接仍然打开而退出。 但是我有几个嵌套的callback数据库,然后mailgun发送这些电子邮件,有时mailguncallback有自己的mailguncallback。 我如何跟踪这些数据并确保数据库在最后closures?

遇到主机名/ IP不匹配Heroku上的证书的altnames

我正在利用WePay node.js sdk https://github.com/wepay/NodeJS-SDK 当试图与WePay通信时,我收到错误: Hostname/IP doesn't match certificate's altnames 这在Heroku上运行,我已经configuration了SSL证书,并且对于发出请求的域是有效的。 我不确定这是否是我的问题,或者是Heroku的configuration问题。 任何有识之士将不胜感激。