2014-06-19 5 views
5

ich vor kurzem eine Reihe von node.js Änderungen an einer App auf Openshift geschoben. Die App läuft auf meinem lokalen Rechner einwandfrei und ist dem von OpenShift bereitgestellten Vanilla-Beispiel ziemlich nahe. Das Openshift haproxy Protokoll hat diese letzte Zeile:Openshift Layer4 Verbindung, App startet nicht

[fbaradar-hydrasale.rhcloud.com Protokolle]> [WARNUNG] 169/002631 (93881): Server Express/local-Gang erreichbar ist, Grund: Layer4 Verbindung Problem, Info: "Verbindung abgelehnt", Dauer prüfen: 0ms. 0 aktiv und 0 Backup Server übrig. 0 Sitzungen aktiv, 0 erneut, 0 in der Warteschlange.

Die nodejs.log hat diese letzte Zeile und keine Fehler mesages vor dieser Zeile: DEBUG: Program node server.js exited with code 8

Ich habe hohe und niedrige gesucht und kann nicht scheinen, jemand mit einem ähnlichen Problem oder Hinweise zu finden, wie zum beheben Sie dieses Problem. Offensichtlich führt das obige Ergebnis zu einem 503-Service, der nicht verfügbar ist, wenn versucht wird, über das Internet auf die App zuzugreifen.

Antwort

8

bei der Frage der Suche Ich denke, es geschieht, weil Sie keine Routen haben keine an der Wurzel konfiguriert ‚/‘. OpenShift verwendet HAProxy als Lastenausgleich in skalierbaren Anwendungen. HAProxy ist so konfiguriert, dass es root/url für Health-Checks anpingt, um festzustellen, ob Ihre Anwendung aktiv ist oder nicht. In Ihrer Anwendung haben Sie nichts an der Wurzel-URL so konfiguriert, dass, wenn HAProxy Pings ‚/‘ wird es 503, damit Ihre Anwendung wie diese verhält. Es gibt zwei Möglichkeiten, wie Sie dieses Problem

  1. Eine index.html und schieben Sie es auf Openshift-Anwendung beheben können
  2. Die bessere Lösung ist HAProxy Konfigurationsdatei zu konfigurieren. SSH in das Hauptgetriebe rhc ssh --app Befehl, dann Verzeichnis haproxy/conf ändern und dann option httpchk GET /-option httpchk GET /valid_location aktualisieren, und schließlich die HAProxy Neustart rhc kassetten Neustart --cartridge haproxy verwenden. Sie können den Status Ihrer Gänge überprüfen, indem Sie http://myapp-myusername.rhcloud.com/haproxy-status gehen.

Hope this Ihnen helfen.

1

Vielen Dank für die Antwort! Ich habe jedoch gerade herausgefunden, was das Problem war, indem ich mich zurückdrehe und eine Änderung nach der anderen mache. Es gab eine vergrabene NPM-Abhängigkeit in einer Subdatei. Diese Abhängigkeit wurde der Datei package.json nicht hinzugefügt, und Openshift konnte den Knoten nicht ordnungsgemäß neu erstellen. Sobald die Abhängigkeit hinzugefügt wurde, fing alles wieder an zu laufen. Die Log-Fehler waren ein bisschen wie ein Ablenkungsmanöver und einfach ein Nebeneffekt, keine gute Anwendung zu haben!