首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >socket.io-redis在heroku上出现错误

socket.io-redis在heroku上出现错误
EN

Stack Overflow用户
提问于 2015-06-22 15:52:41
回答 2查看 619关注 0票数 0

我正在尝试将我的应用程序部署到node.js上。我补充说,我的app.it中的redistogo插件是基于heroku.i和express的。

我写了一小段代码

代码语言:javascript
复制
var redis = require('socket.io-redis');

var io = require('socket.io')(server);
io.adapter(redis(process.env.REDISTOGO_URL));

但在最后一行,我得到了错误:

代码语言:javascript
复制
Error: Redis connection to redistogo:6379 failed - getaddrinfo ENOTFOUND redistogo

谁能帮助我为什么面对这个错误并摆脱这个错误。6379是默认的端口,但我的redistogo url没有6379端口号。它的端口号是10281。

这是socket.io-redis模块中的错误还是我做错了什么??

EN

回答 2

Stack Overflow用户

发布于 2015-06-22 16:48:52

如果您的Redis在端口10281上运行,则需要在初始化适配器时进行设置。

var io = require('socket.io')(3000); var redis = require('socket.io-redis'); io.adapter(redis({ host: process.env.REDISTOGO_URL, port: 10281 }));

查看文档https://github.com/automattic/socket.io-redis#adapteropts

票数 1
EN

Stack Overflow用户

发布于 2015-06-22 18:54:38

如果redis DB有密码,那么最好选择

代码语言:javascript
复制
 var redis = require('redis').createClient;
    var adapter = require('socket.io-redis');
    var pub = redis(port, host, { auth_pass: "pwd" });
    var sub = redis(port, host, { detect_buffers: true, auth_pass: "pwd" 

});
    io.adapter(adapter({ pubClient: pub, subClient: sub }));

如果是heroku,请将host输入为

代码语言:javascript
复制
redis://redistogo:XXXXXXXXX@beardfish.redistogo.com
and port : provided in redistogo_url

现在它工作得很好。

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

https://stackoverflow.com/questions/30974637

复制
相关文章

相似问题

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