无法从MeteorJs应用程序连接到外部MongoDB数据库

时间:2019-09-16 12:46:06

标签: linux mongodb meteor

希望这是一个新手问题。

我正在尝试使用MeteorUp部署MeteorJs应用程序,并且尝试连接到外部MongoDB数据库时失败。我想念什么?我是否需要在主机上配置mongod.conf来添加允许连接到外部MongoDB数据库的外部ip地址?我可以使用客户端工具(Studio 3T)连接到外部MongoDB数据库(mlab.com),所以我知道连接字符串不是问题。

MeteorUp日志:

[165.227.197.220] - Start Meteor: SUCCESS
[165.227.197.220] - Verifying Deployment
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 –:–:– –:–:– –:–:– 0curl: (7) Failed to connect to 172.17.0.3 port 80: Connection refused

Error: failed to connect to server [mongodb:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND mongodb mongodb:27017]
at Pool.<anonymous> (/builtapp/programs/server/npm/nodemodules/meteor/npm-mongo/nodemodules/mongodb-core/lib/topologies/server.js:564:11)
at emitOne (events.js:115:13)
at Pool.emit (events.js:210:7)
at Connection.<anonymous> (/builtapp/programs/server/npm/nodemodules/meteor/npm-mongo/nodemodules/mongodb-core/lib/connection/pool.js:317:12)
at Object.onceWrapper (events.js:318:30)
at emitTwo (events.js:125:13)
at Connection.emit (events.js:213:7)
at Socket.<anonymous> (/builtapp/programs/server/npm/nodemodules/meteor/npm-mongo/nodemodules/mongodb-core/lib/connection/connection.js:246:50)
at Object.onceWrapper (events.js:316:30)
at emitOne (events.js:115:13)
at Socket.emit (events.js:210:7)
at emitErrorNT (internal/streams/destroy.js:64:8)
at _combinedTickCallback (internal/process/nexttick.js:138:11)
at process.tickDomainCallback (internal/process/nexttick.js:218:9)
=> Starting meteor app on port:80
/builtapp/programs/server/nodemodules/fibers/future.js:313
throw(ex);

Mup.js

module.exports = {
  servers: {
    one: {
      host: '165.227.197.220',
      username: 'root',
      pem: '../DigitalOcean-PrivateKey'
    }
  },
  app: {
    name: 'ToDoUsingReactAndMeteorJs',
    path: '../',
    servers: {
      one: {},
    },
    buildOptions: {
      serverOnly: true,
    },
    env: {
      ROOT_URL: 'http://165.227.197.220',
      MONGO_URL: 'mongodb://ajitgoel:<password>@<host>/commonmembership',
      MONGO_OPLOG_URL: 'mongodb://mongodb/local',
    },
    docker: {
      image: 'abernix/meteord:node-8.4.0-base',
    },
    enableUploadProgressBar: true
  },
};

1 个答案:

答案 0 :(得分:0)

似乎正在尝试连接到默认的Mongo端口27017,mLab并未使用该端口。因此,mongo url必须是错误的。