Node.js: Einfache app funktioniert nicht auf Heroku
Ich geschrieben habe, eine grundlegende node.js Anwendung und ich habe es geschafft, installieren Sie es auf Heroku, ohne jedes problem. Ich habe mein Paket.json und Procfile, jedoch aus den logs sehe ich, dass es keine Laufenden Prozesse, so können keine Antwort erhalten. Was könnte das problem sein?
PS: ich nicht wollen, verwenden Sie die Express Rahmen
Mein Code:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
console.log("I am working");
}).listen(8888);
Mein Paket.json:
{
"name": "node-example",
"version": "0.0.1",
"dependencies": {
},
"engines": {
"node": "0.8.x",
"npm": "1.1.x"
}
}
Logs:
2012-10-22T12:36:58+00:00 heroku[slugc]: Slug compilation started
2012-10-22T12:37:07+00:00 heroku[slugc]: Slug compilation finished
2012-10-22T12:40:55+00:00 heroku[router]: Error H14 (No web processes running) -> GET aqueous-bastion-6914.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2012-10-22T12:50:44+00:00 heroku[router]: Error H14 (No web processes running) -> GET aqueous-bastion-6914.herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben, Sie erklommen die heroku-app?
Dies ist ein erforderlicher Schritt. Die
1
ist die Anzahl der Prozesse, die Sie wollen, erzeugt für Ihre app.Ihren port ändern
vom
zu
Dem, was in Ihrem Procfile? Passt es zu Ihrem app-Namen?
Dinge, die ich zu tun hatte (nicht zu skalieren oder zu verwenden Express)..
Erstellen Sie ein Procfile im root-Verzeichnis eine Datei wörtlich genannt Procfile, keine Verlängerung).
Innerhalb Procfile, Typ:
Fügen Sie ein Skript und Motor-Paket.json
Update port server.js
... Und warum..
Explizit zu deklarieren, welcher Befehl ausgeführt werden soll starten Sie Ihre app. Heroku sieht für ein Procfile Angabe Ihrer Prozess-Typen
Für das Skript, wenn keine Procfile ist in das root-Verzeichnis während des build-Prozesses, Ihren web-Prozess wird gestartet durch ausführen von npm start. Für den Motor, um anzugeben, ein-Knoten-version, die entspricht der Laufzeit, die Sie entwickeln sind, die mit nutzen möchten und auf Heroku.
Heroku bereits jetzt Ihre app einen port und fügt es in der env, so können Sie nicht setzen Sie den port auf eine Feste Anzahl.
Ressourcen:
https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
https://devcenter.heroku.com/articles/troubleshooting-node-deploys
https://devcenter.heroku.com/articles/deploying-nodejs