2016-04-25 11 views
0

なぜこのエラーが発生しますか?MongoError:ECONNREFUSEDに接続

db:error Error: Cannot open store: MongoError: connect ECONNREFUSED 0.0.0.0:27017 

我々はDeployd w/ Herokuを接続し、このエラーを取得維持しようとしています。何をすべきかについてのアイデア?どうもありがとう!

// require deployd 
var deployd = require('deployd'); 

// configure database etc. 
var server = deployd({ 
    port: process.env.PORT || 5000, 
    env: 'production', 
    db: { 
     host: '0.0.0.0',//my real host name 
     port: 27017, 
     name: 'app', //my real app name 
     credentials: { 
      username: process.env.MONGODB_USERNAME, 
      password: process.env.MONGODB_PASSWORD 
     } 
     } 
}); 

// heroku requires these settings for sockets to work 
server.sockets.server.set('transports', ["xhr-polling"]); 


// start the server 
server.listen(); 

// debug 
    server.on('listening', function() { 
      console.log("Server is listening on port: " + process.env.PORT); 
    }); 

// Deployd requires this 
server.on('error', function(err) { 
    console.error(err); 
    process.nextTick(function() { 

     // Give the server a chance to return an error 
      process.exit(); 
    }); 
}); 
+0

マシンに常駐するDBに接続しようとするならば、あなたは '0.0.0.0'ではなく' 127.0.0.1'を試してみるべきです。 – Nacho

答えて

1

エラーECONNREFUSED 0.0.0.0:27017アプリがポート270170.0.0.0でサービスに接続しようとしていること、およびサービスが接続を拒否していることを語っています。

0.0.0.0が間違っている可能性があります。これは、リスニングコンテキストで使用される場合、「ローカルマシン上のすべてのIPアドレス」を意味します。これは、接続コンテキストで「インターネットへのデフォルトルート」を意味します。サービスに到達するのにも意味がありません。

これはアプリにハードコードされていますか?通常は、サービスエンドポイントのようなものを取得するためには環境変数を使い、通常はサービスと同じマシンにはサービスは存在しません。