2016-05-27 11 views
0

のMongoDB-2.4カートリッジに接続しようとすると私はそれはそれはそれを失敗したときのように見えますOpenShift MongoDBのECONNREFUSED

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; 
} 

以下のように接続文字列を作成しています以下の

==> 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) 

を得続けますポートが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 

何がうまくいかないかについてのご意見はありますか?

+0

MongoDBは42346で動作しており、ログはポート27017でmongodbを接続しようとしていることを示しています。それを42346 –

+0

@JitendraKhatriに接続してみてください。 mongodbカートリッジがOpenShiftによって提供されている場合、提供される変数に間違ったポート番号が返されるのはなぜですか?process.env.OPENSHIFT_MONGODB_DB_PORT ?? – medoix

+0

この接続文字列の形式mongodb:// @ localhost/を試してください。それは私のためにうまくいっています –

答えて

1

mongodbカートリッジをWebサーバーのカートリッジの横に配置してから削除した後、Webサーバー変数が更新されないmongodbカートリッジを交換すると、 Web層サーバーを再起動して新しいmongodb設定変数を更新する必要がありました。

+0

私はあなたの同じ問題があると思います。サーバーを再起動しましたか?今は私のために働いているので – Massimo

+0

mongoインスタンスを置き換えましたか?それをセットアップする時間を費やした後、私の口座をアップグレードして、彼らが鉱山(オーストラリア)を含むかなりの国を受け入れないことに気づいたので、私はオープンシフトから遠ざかった。 – medoix

+0

私はそれがこれに関連していないことを知りました。誤って、webpackでprocess.env変数を上書きしていたので、スクリプトが正しい環境変数を取得できませんでした。 「彼らはかなり多くの国を受け入れていない」とはどういう意味ですか?私たちはイタリアに拠点を置き、現在ブロンズプランを使用しています – Massimo

関連する問題