繁体   English   中英

Cloud9 IDE上的Nodejs中的Redis:[错误:身份验证错误:未定义]

[英]Redis in Nodejs on Cloud9 IDE: [Error: Auth error: undefined]

这是我的代码:

var express = require("express"),
    app = express(),
    server = require("http").createServer(app),
    io = require("socket.io").listen(server),
    redis = require("redis"),
    env = {PORT: process.env.PORT || 8080, IP: process.env.IP || "localhost"};

client = redis.createClient(env.PORT , env.IP);
client.on("error", function(err) {
    console.log(err);
});

server.listen(env.PORT);
console.log("Server started @ " + env.IP + ":" + env.PORT);

尝试运行后,我在控制台上收到以下消息:

Running Node Process
Your code is running at 'http://modified.address.c9.io'.
Important: use 'process.env.PORT' as the port and 'process.env.IP' as the host in your scripts!
info: socket.io started
Server started @ modified.ip.address.1:8080
[Error: Auth error: undefined]

我尝试建立连接,它完美地连接到IP和PORT。 但是,错误[Error: Auth error: undefined]出现并在此处停止。 我用错误搜索了错误,使用了我使用的IDE的支持...,令人惊讶的是,只有7个链接可以解决我的问题。 因此,我认为这可能是我的知识上的一个漏洞,或者这不是真正的问题,但我不知道如何解决。 我只能从这些Google结果中提取出来的(我不确定),我需要在创建后立即使用client.auth(pass) 但是我应该在哪里找到密码? 当我安装npm install redis我没有进行任何配置,也没有被告知要设置密码。 所以我陷入了僵局。

我使用Cloud9 IDE(c9.io),并且使用的模块如上面的代码所示。

----致以诚挚的问候,----蒂姆。

我发现了问题所在。

我确实安装了Redis,但这是一个Redis库,其作用就像Redis驱动程序和NodeJS之间的桥梁。 在Cloud9上,我也必须手动安装Redis。

因此,实际安装Redis需要2条命令:

在Cloud9上安装Redis驱动程序

nada-nix install redis

为NodeJS安装Redis库

npm install redis

感谢任何试图帮助我的人。

您可以使用自己的配置文件运行redis-server。可以如下创建自己的配置。

 //port and ip of ur redis server
  port 6371
  bind 127.0.0.1
  //password for this server
  requirepass ucanmentionurpwd
  //storing snapshots of the data 
  save 60 1
  dbfilename dump.rdb
  dir /tmp/db

  //starting redis server
   redis-server //ur config file location

请参阅此链接以了解Redis配置https://raw.github.com/antirez/redis/2.6/redis.conf

如果您使用密码提及requirepass,则意味着您只需要这样做

         client.auth('urPwd');

否则,无需调用client.auth方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM