2

这是我的代码:

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 个链接。所以我认为这可能是我知识的一个漏洞,或者这不是一个真正的问题,但我不知道如何解决它。我能从这些谷歌结果中提取的只是(我不确定)我需要client.auth(pass)在创建它之后立即使用。但是我应该在哪里找到密码?当我安装它时,npm install redis我没有配置任何东西,也没有被告知设置密码。所以我陷入了僵局。

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

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

4

2 回答 2

1

我发现出了什么问题。

我确实安装了 Redis,但那是一个 Redis 库,它充当 Redis 驱动程序和 NodeJS 之间的桥梁。在 Cloud9 上,我也必须手动安装 Redis。

所以实际安装 Redis 需要 2 个命令:

在 Cloud9 上安装 Redis 驱动程序

nada-nix install redis

为 NodeJS 安装 Redis 库

npm install redis

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

于 2013-09-06T08:51:52.233 回答
0

您可以使用自己的配置文件运行 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 方法。

于 2013-09-05T12:53:22.203 回答