【发布时间】:2016-05-27 10:03:34
【问题描述】:
当尝试连接到 mongodb-2.4 墨盒时,我不断收到以下信息
==> app-root/logs/nodejs.log <==
Error: connect ECONNREFUSED 127.0.0.1:27017
at Object.exports._errnoException (util.js:893:11)
at exports._exceptionWithHostPort (util.js:916:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1075:14)
我正在创建如下连接字符串
if(process.env.OPENSHIFT_MONGODB_DB_PASSWORD){
connection_string = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
process.env.OPENSHIFT_MONGODB_DB_HOST + ':' +
process.env.OPENSHIFT_MONGODB_DB_PORT + '/' +
process.env.OPENSHIFT_APP_NAME;
}
当它失败时,它认为端口是 27017,但是当我运行 rhc port-forward appname 时,它会显示以下不同的 mongodb 端口
Service Local OpenShift
------- --------------- ---- ------------------------------------------------------
haproxy 127.0.0.1:8080 => 127.6.174.2:8080
haproxy 127.0.0.1:8081 => 127.6.174.3:8080
mongodb 127.0.0.1:42346 => 5747fa8f70-appname.rhcloud.com:42346
node 127.0.0.1:8082 => 127.6.174.1:8080
关于哪里出了问题有什么想法吗?
【问题讨论】:
-
MongoDB 在 42346 上运行,日志显示您将在端口 27017 上连接 mongodb。尝试在 42346 上连接它
-
@JitendraKhatri 我已经在上面说过了。如果 mongodb 盒由 OpenShift 提供,为什么它在提供的变量 process.env.OPENSHIFT_MONGODB_DB_PORT 中返回错误的端口号??
-
试试这种格式的连接字符串,mongodb://
: @localhost/ 。对我来说效果很好