Bonjour à tous,
Et bien voila, j'ai un problème sur mon serveur node depuis peu:
Avant toute chose, je tient à préciser que tout fonctionnais jusqu'a il y a peu, que des manips ont été effectuées, mais qu'aucune configuration du reseau n'a été touché depuis (donc, il ne s'agit en aucun cas d'un problème d'ouverture de port, par exemple, ceci a déjà été testé-approuvé).
J'essaye de lancer mon processus nodejs via pm2 (qui, si j'ai bien compris, permet de relancer automatiquement le processus si celui-ci plante):
Le processus ce lance, et tourne à priori sans erreur d'après la console pm2 list (qui m'indique le processus comme "online").
Code : Sélectionner tout - Visualiser dans une fenêtre à part pm2 start server.js
Pourtant celui ci reste inaccessible: le serveur ne répond pas. (que ça soit en http, https, ou même via "telnet localhost 1337"...)
Lorsque je regarde dans les logs de pm2, le fichier de sortie (server-out-4.log (processus pm2 n°4)) me dis:
D'après tout ce que j'ai vu sur le net, cela veux dire que le port utilisé par le serveur node est déjà en cours d'utilisation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 info: socket.io started warn: error raised: Error: bind EADDRINUSE
Cependant, lorsque je regarde dans netstat:
Et rien n'indique que ce port (le 1337) ne soit déjà en cours d'utilisation.
Code : Sélectionner tout - Visualiser dans une fenêtre à part netstat -nltp
Voila pour la petite histoire dans les grandes lignes.
Voici quelques précisions:
Le processus fonctionnait très bien il y a quelque jours, Mais nous avons demandé a notre hébergeur de mettre en place un monitoring sur le processus pour être avertis par mail en cas de plantage de celui-ci, ou en cas de redémarrage complet du serveur physique.
La personne en charge de la tâche a donc désactivé le processus dans pm2 pour le relancer "normalement" (visible dans ps), car, à priori, plus simple à monitorer, je ne serais vous en dire plus.
C'est depuis que le serveur est inaccessible.
Nous avons donc annulé la demande de monitoring de ce processus, et avons tenté de relancer le processus node via pm2 à nouveau. Mais depuis, toujours la même erreur EADDRINUSE malgrès que le netstat semble nous dire le contraire.
Afin de vérifier le code, j'ai dupliqué le serveur node, et simplement modifié le port d'écoute (par 1338, qui a été ouvert pour la preprod)
Et là, aucun problème, le serveur fonctionne; donc la coquille ne vient apparemment pas du code.
Mais pour des contraintes techniques ennuyeuses, je ne peux malheureusement pas utiliser mon serveur de production sur le port 1338,
je cherche donc une solution pour libérer le port 1337 afin de pouvoir l'utiliser a nouveau pour mon serveur de prod.
Si quelqu'un a une idée, je suis preneur, je patauge complètement là
merci
Partager