这是我的代码:
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]
出现并停在那里。我用Google搜索了错误,我使用的IDE的支持......,令人惊讶的是,我的问题只有7个链接。所以我认为这可能是我所知道的一个漏洞,或者它并不是一个真正的问题,而是我不知道要解决的问题。我可以从那些谷歌搜索结果中得出结论(我不确定)我需要在创建后立即使用client.auth(pass)
。但是我应该在哪里找到密码?当我安装npm install redis
时,我没有配置任何东西,也没有被告知设置密码。所以我陷入了僵局。
我使用Cloud9 IDE(c9.io),以及上面代码中显示的模块。
----最诚挚的问候, ----添
答案 0 :(得分:1)
我发现了什么问题。
我确实安装了Redis,但这是一个Redis库,就像Redis驱动程序和NodeJS之间的桥梁。在Cloud9上,我也必须手动安装Redis。
因此实际安装Redis需要2个命令:
在Cloud9上安装Redis驱动程序
nada-nix install redis
为NodeJS安装Redis库
npm install redis
感谢任何想帮助我的人。
答案 1 :(得分: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方法。