【问题标题】:socket.io-redis giving error on herokusocket.io-redis 在 heroku 上给出错误
【发布时间】:2015-06-22 07:52:40
【问题描述】:

我正在尝试在 heroku 上部署我的应用程序。我在我的应用程序中添加了 redistogo 插件。它基于 node.js 和 express。

我写了一个小代码

var redis = require('socket.io-redis');

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

但在最后一行我收到错误:

Error: Redis connection to redistogo:6379 failed - getaddrinfo ENOTFOUND redistogo

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

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

【问题讨论】:

    标签: node.js sockets heroku socket.io socket.io-redis


    【解决方案1】:

    如果您的 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

    【讨论】:

    • 嗨@galethil,我的REDISTOGO_URL 类似于redis://redistogo:XXXXXXXXX@beardfish.redistogo.com:10281/。如文档中所述,我也可以在文档中指定一个URL。还有一个例子给定 var adapter = adapter('localhost:6379');但是如果您的解决方案有效,请尝试一下。Thnaks
    【解决方案2】:

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

     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,请输入主机

    redis://redistogo:XXXXXXXXX@beardfish.redistogo.com
    and port : provided in redistogo_url
    

    现在效果很好。

    【讨论】:

    • 你好@Ritesh Mehandiratta,不幸的是这个解决方案对我不起作用,我的代码也不起作用: var redis = require('redis').createClient; var pub = redis("10501", "redis://redistogo:****@tarpon.redistogo.com", { auth_pass: "****" }); var sub = redis("10501", "redis://redistogo:****@tarpon.redistogo.com", { detect_buffers: true, auth_pass: "****" }); io.adapter(redisSocket({ host:process.env.REDISTOGO_URL, port: 10501,pubClient: pub, subClient: sub }));
    猜你喜欢
    • 1970-01-01
    • 2017-12-11
    • 2016-04-13
    • 2017-09-24
    • 2012-06-19
    • 2015-05-16
    • 2014-11-25
    • 2016-09-13
    • 1970-01-01
    相关资源
    最近更新 更多