2016-05-27 84 views
0

當試圖連接到MongoDB的-2.4墨盒我不斷收到以下OpenShift MongoDB的ECONNREFUSED

==> 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端口轉發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 

任何想法,以什麼回事?

+0

MongoDB正在42346上運行,並且日誌顯示您要在端口27017上連接mongodb。嘗試連接它42346 –

+0

@JitendraKhatri我已經在上面說過了。如果MongoDB的盒通過OpenShift提供爲什麼它返回所提供process.env.OPENSHIFT_MONGODB_DB_PORT變量錯誤的端口號? – medoix

+0

嘗試連接字符串,mongodb的這種格式:// @本地/ 。這是爲我工作很好 –

回答

1

所以原來,如果你刪除的MongoDB盒已同時部署web服務器墨盒後,再更換墨盒mongodb的web服務器變量沒有更新。我需要重新啓動Web層服務器,以便讓他們獲得更新的新mongodb設置變量。

+0

我想我有你同樣的問題。你剛剛重新啓動服務器?因爲它現在正在爲我工​​作 – Massimo

+0

是否替換了mongo實例?我最終離開了openshift,因爲花了時間設置後,我去升級了我的賬戶,並注意到他們不接受包括我在內的很多國家(澳大利亞)。 – medoix

+0

我發現它與此無關。我錯誤地用webpack覆蓋了process.env變量,因此我的腳本無法檢索正確的環境變量。 「他們不接受很多國家」是什麼意思?我們在意大利,我們目前正在使用銅牌計劃 – Massimo