Redis连接到127.0.0.1:6379失败 - 连接ECONNREFUSED在laravel中

时间:2017-06-28 12:26:14

标签: laravel laravel-5 redis socket.io laravel-5.4

当我运行node serve.js时,出现以下错误

   throw er; // Unhandled 'error' event
   ^

 Error: Redis connection to 127.0.0.1:6379 failed - connect ENFILE 127.0.0.1:6379 - Local (undefined:undefined)
at Object.exports._errnoException (util.js:1018:11)
at exports._exceptionWithHostPort (util.js:1041:20)
at connect (net.js:880:16)
at net.js:969:9
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)

Server.js文件

  var app = require('express')();
  var server = require('http').Server(app);
  var io = require('socket.io')(server);
  var redis = require('redis');

  server.listen(8890);
  io.on('connection', function (socket) {

   console.log("client connected");
   var redisClient = redis.createClient();
   redisClient.subscribe('message');

   redisClient.on("message", function(channel, data) {
   console.log("mew message add in queue "+ data['message'] + " channel");
   socket.emit(channel, data);
 });

  socket.on('disconnect', function() {
  redisClient.quit();
 });

 });

如何修复上述错误。我有安装节点,npm,predis和socet.io

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,但我通过安装redis并在终端中执行它来解决它。

如果您使用的是mac,可以使用以下命令轻松地通过brew安装redis:

brew install redis

安装后运行以下命令:

redis-serve

这项工作适合我!

答案 1 :(得分:0)

我在 Laravel 中遇到了这个问题,问题是我在 homestead/vagrant box 之外运行了我的套接字

因此,如果您在 laravel 中遇到这种情况,请通过 SSH 进入 homestead/vagrant 导航到您的根项目并运行您的套接字脚本:)