2016-05-27 11 views
0

Wenn zum mongodb-2.4 Patrone zu versuchen, eine Verbindung Ich erhalte die folgendeOpenshift 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) 

Ich bin die Verbindungszeichenfolge wie unten

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

zu schaffen, wie es aussieht, wenn es es nicht denkt, dass der Port 27017 ist, aber wenn ich rhc port-forward appname ausführen zeigt es mir den folgenden anderen Port für 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 

Irgendwelche Ideen, was läuft?

+0

MongoDB läuft auf 42346 und Protokoll zeigt, dass Sie mongodb auf Port 27017 verbinden werden. Versuchen Sie es auf 42346 verbinden –

+0

@JitendraKhatri Ich bereits oben erwähnt. Wenn die mongodb-Cartridge von OpenShift bereitgestellt wird, warum gibt sie die falsche Portnummer in der bereitgestellten Variable zurück process.env.OPENSHIFT_MONGODB_DB_PORT ?? – medoix

+0

Versuchen Sie dieses Format der Verbindungszeichenfolge, mongodb: // : @ localhost/. Es funktioniert gut für mich –

Antwort

1

So stellt sich heraus, wenn Sie eine Mongodb-Cartridge entfernen, nachdem es neben den Webserver-Cartridges bereitgestellt wurde und dann die Mongodb-Cartridge ersetzen, werden die Webserver-Variablen nicht aktualisiert. Ich musste die Web-Tier-Server neu starten, damit sie die neuen mongodb-Einstellungsvariablen aktualisieren konnten.

+0

Ich denke, ich habe dein Problem. Hast du gerade den Server neu gestartet? Weil es jetzt für mich funktioniert – Massimo

+0

hast du die Mongo-Instanz ersetzt? Ich entfernte mich von openshift, denn nachdem ich die Zeit für die Einrichtung aufgewendet hatte, ging ich dann zum Upgrade meines Kontos und bemerkte, dass sie nicht viele Länder akzeptieren, einschließlich meiner (Australien). – medoix

+0

Ich fand heraus, dass es nicht damit verbunden war. Aus Versehen habe ich die Variable process.env mit dem Webpack überschrieben, daher konnte mein Skript die richtigen Umgebungsvariablen nicht abrufen. Was meinst du mit "sie akzeptieren nicht viele Länder"? Wir sind in Italien und wir verwenden derzeit den Bronze-Plan – Massimo