[英]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.