2016-08-04 9 views
1

Erste Verwendung von Heroko. Befolgte die Schritte und mein Build war erfolgreich, aber wenn ich auf die URL gehe, bekam ich einen Anwendungsfehler. Ich sah in den Protokollen, aber ich bin nicht wirklich sicher, was passiert, unten ist die Liste der Protokolle IHeroko-Anwendungsfehler mit Knoten js

hatte
2016-08-04T14:24:15.352519+00:00 heroku[web.1]: State changed from crashed to starting 
2016-08-04T14:24:31.776384+00:00 heroku[web.1]: Starting process with command `node server.js` 
2016-08-04T14:24:34.211793+00:00 app[web.1]: keyword api listening at http://[::]:8088 
2016-08-04T14:25:32.328147+00:00 heroku[web.1]: Stopping process with SIGKILL 
2016-08-04T14:25:32.327930+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 
2016-08-04T14:25:32.501167+00:00 heroku[web.1]: State changed from starting to crashed 
2016-08-04T14:25:32.503024+00:00 heroku[web.1]: State changed from crashed to starting 
2016-08-04T14:25:32.477573+00:00 heroku[web.1]: Process exited with status 137 
2016-08-04T14:25:36.445941+00:00 heroku[web.1]: Starting process with command `node server.js` 
2016-08-04T14:25:39.335482+00:00 app[web.1]: keyword api listening at http://[::]:8088 
2016-08-04T14:26:37.186681+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch 
2016-08-04T14:26:37.186681+00:00 heroku[web.1]: Stopping process with SIGKILL 
2016-08-04T14:26:37.329330+00:00 heroku[web.1]: Process exited with status 137 
2016-08-04T14:26:37.353704+00:00 heroku[web.1]: State changed from starting to crashed 
2016-08-04T14:26:37.619772+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=shielded-temple-17247.herokuapp.com request_id=db8eb419-e950-4768-8a3f-319a84f7d4e2 fwd="2.125.30.1" dyno= connect= service= status=503 bytes= 
2016-08-04T14:26:38.809203+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=shielded-temple-17247.herokuapp.com request_id=5661b532-80af-40cb-8ae3-0bf9868b5e0f fwd="2.125.30.1" dyno= connect= service= status=503 bytes= 
+0

scheint, als ob Sie ein Problem mit dem Port haben, der Ihre Anwendung verwendet. Heroku setzt beim Start einen anderen Port. –

Antwort

0

Was machen Sie in Ihrer Procfile definiert haben? Im Moment scheint es so etwas zu sein:

web: node server.js 

Die Procfile sagt Heroku, wie Ihre Anwendung auszuführen. Die Protokolle, die Sie angezeigt haben, zeigen an, dass Sie versuchen, Ihren Knotenserver auf Port 8088 auszuführen - dies ist wahrscheinlich das Problem.

Mit Heroku können Sie Ihren Server nicht an JEDEM gewünschten Port betreiben. Stattdessen wird Ihnen dynamisch mitgeteilt, auf welchem ​​Port Ihr Server beim Start Ihrer Anwendung läuft. Dies geschieht durch die Verwendung einer Umgebungsvariablen namens PORT.

Was Sie tun müssen, ist Ihre server.js Code ändern, so dass Sie Ihren Server auf process.env.PORT starten.

Hier ist ein Beispiel (in Express.js):

var express = require('express'); 

var app = express(); 

app.listen(process.env.PORT); 

, die erfolgreich einen Knoten-Server auf Heroku starten wird automatisch an den richtigen Anschluss zu binden.

Hoffe, dass hilft!