2017-01-21 5 views
0

zu starten Also habe ich erfolgreich eine node.js App zu OpenShift commited - ohne einen Fehler zu bekommen - aber es funktioniert nicht (Fehler 503 beim Zugriff versuchen es über meinen Browser, Verbindungszeitüberschreitung, wenn Tests von meinem lokalen Rechner gegen es laufen lassen). Die Ausgabe beim Commit sagt, dass Knoten und MySQL erfolgreich gestartet wurden und dass der Build erfolgreich war.Ich bekomme einen EADDRINUSE-Fehler, wenn ich versuche, einen node.js-Server auf OpenShift

Ich habe den Server über SSH zugegriffen und überprüft das Knotenprotokoll. Es sagt ein EADDRINUSE aufgetreten: Error: listen EADDRINUSE :::8080.

In meiner Konfiguration, die ich benutze:

"server":{ 
    "host":"OPENSHIFT_NODEJS_IP", 
    "port":"OPENSHIFT_NODEJS_PORT" 
} 

ich auch environement Variablen in der Shell mit export und beide sind dort überprüft, und 8080 ist der richtige Anschluss. Wenn die ps in der Shell ausgeführt wird, werden nur die Programme ps und bash angezeigt. EADDRINUSE sollte bedeuten, dass der Port bereits von einem anderen Programm verwendet wird, aber ich sehe nichts läuft ... Ich kann nicht laufen netstat (Berechtigung verweigert).

Ich habe verschiedene Kombinationen von Stop/Start/Neustart versucht, aber ich bekomme immer den gleichen Fehler.

Ich bin an diesem Punkt ziemlich verloren. Irgendwelche Hinweise würden geschätzt werden!

+0

Können Sie Port 8080 verwenden, wenn Sie nur Netcat verwenden? 'netcat-l 8080' – tul

+0

Auch, wenn 8080 beschäftigt ist, versuchen Sie vielleicht telnetting und sehen, wenn Sie herausfinden können, was es ist, wenn es nicht Ihr Knoten Prozess ist – tul

+0

Der Netcat-Befehl ist nicht verfügbar. Außerdem glaube ich nicht, dass ich Zugang über Telnet habe. Ich habe nur einen SSH-Zugang. – Alex

Antwort

0

Ich habe das Problem gefunden. Lokal startete ich den Server mit app.listen(port);, was genug ist, um es auszuführen und auf localhost zuzugreifen. Aber das funktioniert nicht mit OpenShift. Der Host muss ebenfalls angegeben werden: app.listen(port, host);.

Verwandte Themen