Node.js Cloud9 IDE上Nodejs中的Redis:[错误:身份验证错误:未定义]
这是我的密码:Node.js Cloud9 IDE上Nodejs中的Redis:[错误:身份验证错误:未定义],node.js,authentication,redis,cloud9-ide,Node.js,Authentication,Redis,Cloud9 Ide,这是我的密码: 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 |
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和端口。但是,会出现错误[error:Auth error:undefined]
,并在那里停止。我用谷歌搜索了错误,我使用的IDE的支持…,令人惊讶的是,只有7个链接指向我的问题。所以我认为这可能是我知识上的一个漏洞,或者这不是一个真正的问题,但我不知道如何解决它。我能从谷歌搜索结果中得到的只是(我不确定)我需要在创建它之后立即使用client.auth(pass)
。但是我应该在哪里找到密码呢?当我安装它时,npm安装redis
我没有配置任何东西,也没有被告知设置任何密码。所以我陷入了僵局
我使用Cloud9IDE(c9.io),使用的模块如上面代码所示
----致以最良好的祝愿,
----Tim。您可以使用自己的配置文件运行redis服务器。您可以创建自己的配置,如下所示
//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配置,请参见此链接
如果您在密码中提到requirepass,则表示您只需要这样做
client.auth('urPwd');
否则就不需要调用client.auth方法。我已经找到了问题所在 我确实安装了Redis,但这是一个Redis库,充当Redis驱动程序和NodeJS之间的桥梁。在Cloud9上,我也必须手动安装Redis 因此,实际安装Redis需要2个命令: 在Cloud9上安装Redis驱动程序
nada-nix install redis
为NodeJS安装Redis库
npm install redis
感谢所有试图帮助我的人。请检查此示例。您提供的设置使node和redisClient使用相同的端口-8080。您启动的redis服务器的端口是什么?它们都侦听同一个端口
process.env.port=8080
,就像控制台建议的那样。它们应该在同一个港口运行吗?端口中不包含访问网站或在我的工作区中收听的链接,这意味着我别无选择,只能使用process.env.port和process.env.IP进行设置,这迫使他们收听相同的8080端口。这似乎是我需要的。但是我在哪里可以找到我的密码?我不知道文件放在哪里。当我尝试手动启动服务器时,redis-server
,它显示bash:redis-server:command未找到
。我很确定我安装了Redis。@cuzmAZN好的。你安装了Redis,这很好。你安装了Redis-server。这并不意味着你应该安装Redis服务器。。