Node.js renvoie l'événement d'erreur Unhandled
J'ai installé nœud, mnp dans mon serveur Centos 6, et je suis en utilisant mastic pour l'exécution de commandes sur le serveur.
Nœud est correctement installé à la racine et en cours d'exécution génial à n'importe où sur le serveur.
mon projet est dans /home/shaadise/public_html/Ikon
J'ai créé un hello.js fichier /home/shaadise/public_html/Ikon
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8080);
console.log('Server started');
lors de l'exécution js:
root@vps [/home/shaadise/public_html/Ikon]# node hello.js
Server started
events.js:72
throw er; //Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:904:11)
at Server._listen2 (net.js:1042:14)
at listen (net.js:1064:10)
at Server.listen (net.js:1138:5)
at Object.<anonymous> (/home/shaadise/public_html/Ikon/hello.js:6:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
root@vps [/home/shaadise/public_html/Ikon]# throw er; //Unhandled 'error' event
-bash: throw: command not found
-bash: //: is a directory
Question: où je dois mettre mon node js fichier et comment puis-je y accéder????
j'ai testé pour exécuter la commande:
root@vps [/home/shaadise/public_html/Ikon]# netstat -plnt | grep ':8080'
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 27111/nginx
source d'informationauteur Manwal
Vous devez vous connecter pour publier un commentaire.
Ce
Error: listen EADDRINUSE
catégoriquement signifie que vous ou un démon est en cours d'exécution d'une autre application sur 8080.Toutefois, de vérifier, essayer de l'exécuter sur un autre port?
-edit- que cela devient tout à fait un peu de upvotes, je pensais ajouter un peu de supplémentaires de débogage.
À peu près tous node.js tutoriels par défaut sur le port 8080 pour la course. C'est parce qu'il est similaire à la valeur par défaut le port 80 utilisé par d'autres services web, comme Apache ou NGinX.
Afin de déterminer si une autre application est en cours d'exécution sur le même port, vous pouvez utiliser
netstat -a
pour voir toutes les connexions actives et de leurs ports, et puis grep cette liste pour trouver tout processus connectés sur le même port que votre Node.js application.Il n'a pas vraiment d'importance quel port votre Nœud de l'application s'exécute sur, tant que c'est un port libre. En fin de compte, lorsque vous déployez en production, vous souhaitez synchroniser le contenu du serveur que vous utilisez (Apache/NGinX) d'utiliser le même port.
Si vous utilisez un système basé sur Linux, vous devez d'abord la liste de tous les programmes qui sont en utilisant le port et les tuer(ce qui signifie arrêter)
exemple: je veux la liste de tous les programmes qui sont à l'aide de la 3000 de port
ensuite récupérer l'ID de processus, qui est dans le côté droit de la ligne de texte et le numéro de la commande kill
exemple : si vous avez une ID de processus avec la valeur de 2345 alors la commande sera
Une situation commune pour obtenir cette erreur est lorsque l'on effectue les opérations suivantes:
La bonne voie à suivre serait toujours essayer de frapper Ctrl+c premier qui envoie le signal à la demande (qui peut décider de l'arrêt).
Vous pouvez en lire plus à ce sujet ici:
Quelle est la différence entre Ctrl-z et Ctrl-c dans le shell?
Le serveur est en cours d'exécution en arrière-plan; c'est happing, habituellement, lorsque vous n'avez pas de tuer le processus.
Pour résoudre ce problème, vous pouvez mettre sur le terminal:
Ce code va vous montrer un processus qui ont un numéro spécifique, utilisez le code suivant pour tuer le processus:
Vous pouvez utiliser sudo si cela ne fonctionne pas correctement.