Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 错误:到127.0.0.1:6379的Redis连接失败-连接ECONREFUSSED 127.0.0.1:6379_Node.js_Heroku_Redis - Fatal编程技术网

Node.js 错误:到127.0.0.1:6379的Redis连接失败-连接ECONREFUSSED 127.0.0.1:6379

Node.js 错误:到127.0.0.1:6379的Redis连接失败-连接ECONREFUSSED 127.0.0.1:6379,node.js,heroku,redis,Node.js,Heroku,Redis,我已经创建了一个使用Redis的Nodejs服务器。当我在我的机器上运行它时,它运行良好。但是当我尝试将代码推送到heroku时,我得到了上面的错误。我已经安装了Redis togo,可以在我的配置变量中看到Redis togo_URL 以下是我写的一些Stackoverflow帖子: let RedisStore = require('connect-redis')(session) let redisClient = redis.createClient() if(process.env.

我已经创建了一个使用Redis的Nodejs服务器。当我在我的机器上运行它时,它运行良好。但是当我尝试将代码推送到heroku时,我得到了上面的错误。我已经安装了Redis togo,可以在我的配置变量中看到Redis togo_URL

以下是我写的一些Stackoverflow帖子:

let RedisStore = require('connect-redis')(session)

let redisClient = redis.createClient()
if(process.env.REDISCLOUD_URL){
    let redisURL = url.parse(process.env.REDISCLOUD_URL);
    redisClient = redis.createClient(redisURL)
}
我的应用程序在开发过程中运行良好,但当我尝试在heroku中启动应用程序时,我在执行heroku logs-tail时出现以下错误:

错误:到127.0.0.1:6379的Redis连接失败-连接 经济增长127.0.0.1:6379


您的代码似乎需要一个REDISCLOUD\u URL环境变量。如果您已经定义了REDISTOGO\u URL,那么这将解释为什么它不工作。

您的代码似乎需要一个REDISTOGO\u URL环境变量。如果您已经定义了REDISTOGO\u URL,那么这将解释为什么它不起作用。

您遇到的错误是因为您首先尝试使用redis.createClient创建redis客户端。默认情况下,它将连接到127.0.0.1:6379

它在localhost上运行良好,因为它不会进入if process.env.REDISCLOUD\u URL,并且本地redis可用

为了解决这个问题

让我们重新认识客户 ifprocess.env.REDISCLOUD\u URL{ 让redisURL=url.parseprocess.env.REDISCLOUD\u url; redisClient=redis.createClientResul }否则{ redisClient=redis.createClient }
出现该错误是因为您首先尝试使用redis.createClient创建redis客户端。默认情况下,它将连接到127.0.0.1:6379

它在localhost上运行良好,因为它不会进入if process.env.REDISCLOUD\u URL,并且本地redis可用

为了解决这个问题

让我们重新认识客户 ifprocess.env.REDISCLOUD\u URL{ 让redisURL=url.parseprocess.env.REDISCLOUD\u url; redisClient=redis.createClientResul }否则{ redisClient=redis.createClient }
我还必须将变量更改为REDISGO_URL。我还必须删除url.parse。我还必须将变量更改为REDISGO\uURL。我还必须删除url.parse.You是对的。我不得不用这两个答案来解决这个问题。我还必须删除url.parse并执行redisClient=redis.createClientprocess.env.REDISTOGO\u url您是对的。我不得不用这两个答案来解决这个问题。此外,我还必须删除url.parse并执行redisClient=redis.createClientprocess.env.REDISTOGO\uURL