Node.js: Simple application ne fonctionne pas sur Heroku
J'ai écrit une base node.js application et j'ai réussi à le déployer sur Heroku sans avoir aucun problème. J'ai créé mon le paquet.json et Procfile, mais à partir de journaux, je vois qu'il n'y a pas de processus en cours d'exécution, ne peut donc pas obtenir une réponse. Quel pourrait être le problème?
PS: je ne veux pas utiliser le Express cadre
Mon 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);
Mon colis.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=
Vous devez vous connecter pour publier un commentaire.
Avez-vous mis le heroku app?
C'est une étape obligatoire. Le
1
est le nombre de processus que vous souhaitez engendré pour votre application.Changer votre port
de
à
Ce qui est à l'intérieur de votre Procfile? N'est-il correspondre à votre nom de l'appli?
Choses que j'avais à faire (ne pas mettre à l'échelle ou d'utiliser Express)..
Créer un Procfile dans le répertoire racine (un fichier littéralement appelé Procfile, pas d'extension).
À l'intérieur de Procfile, type:
Ajouter un script et moteur de package.json
Mise à jour port en server.js
Et pourquoi..
De déclarer explicitement que la commande doit être exécutée pour démarrer votre application. Heroku recherche un Procfile précisant vos types de processus
Pour le script, si aucune Procfile est présent dans le répertoire de racine pendant le processus de génération, de votre processus sera lancé par l'exécution de mnp commencer. Pour le moteur, pour spécifier un Nœud version qui correspond à l'exécution vous êtes en développement avec et que vous voulez utiliser sur Heroku.
Heroku cède d'ores et déjà de votre application un port et l'ajoute à l'env, de sorte que vous ne pouvez pas configurer le port d'un nombre fixe.
Ressources:
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