私のsocketIOアプリケーション(nodeJSで作成したもの)をmongoDBに接続するのに問題があります。リモートサーバーに接続しようとすると、エラーがスローされる
これが私のコードです(mongoDBにはユーザー/パスワードが設定されていません):
var url = "mongodb://192.168.1.5:27017/DB"
MongoClient.connect(url, function(err, db) {
console.log("test")
if (!err) {
console.log("test");
}
else {
console.dir(err)
throw err
}
// db.close();
});
そして、私がサーバーを起動し、ナビゲーターでアプリを起動しようとしたときは、次のようになります。サーバーはポート80でリッスンします。
{ [MongoError: connect ECONNREFUSED] name: 'MongoError', message: 'connect ECONNREFUSED' }
/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:228
process.nextTick(function() { throw err; })
^
Error
at Error.MongoError (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/error.js:13:17)
at Server.destroy (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:629:47)
at Server.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:344:17)
at Db.close (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:267:19)
at /root/fys-realtime/examples/chat/node_modules/mongodb/lib/db.js:196:12
at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/lib/server.js:226:9)
at g (events.js:180:16)
at emit (events.js:98:17)
at null.<anonymous> (/root/fys-realtime/examples/chat/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:238:68)
at g (events.js:180:16)
このエラーは、次のようないくつかのエラーに対して返されます。
これをチェックして。通常、問題はこれらの原因の1つにすぎません
これを機能させるには、/ etc/mongod.confに変更を加える必要があります
コメントbind_ip = 127.0.0.1この行はコメントされていないかのように、ローカルインターフェースのみをリッスンします。
解決策の1つは、127.0.0.1をパブリックIPまたは/ etcにあるmongodb構成ファイルで提供されているルーターに変更することです
ECONNREFUSEDエラーの理由はいくつかあります。チェックポイント
もっと見ることができます これ