Версия
NodeJS: LTS 12.17 установлен следующим образом:
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install nodejs
У меня довольно странная проблема:
Одно из моих приложений NodeJS внезапно сообщает: listen EADDRINUSE: address already in use
и это не помогает, независимо от того, на какой порт # я пытаюсь его изменить?
Полный стек трассировки выглядит так:
Error: listen EADDRINUSE: address already in use 0.0.0.0:6080
at Server.setupListenHandle [as _listen2] (net.js:1313:16)
at listenInCluster (net.js:1361:12)
at doListen (net.js:1498:7)
at processTicksAndRejections (internal/process/task_queues.js:85:21)
Я слушаю вот так (_wl = экземпляр Winston logger):
> _server.listen(_port, '0.0.0.0', function () { _wl.info('SERVER STARTED! (listening on port # ' + _port + ')')});
Я только что установил этот AWS EC2 экземпляр Ubuntu 20.04 - так что я думаю, что это как-то связано с этим. Ранее он годами работал над множеством разных экземпляров Windows (думаю, я никогда раньше не запускал его на Ubuntu).
Я выполняю примерно так:
1. cd into folder
2. node ./server.js (I have also tried to use Sudo)
Может это как-то связано с разрешениями?
Я попытался разрешить весь входящий / исходящий трафик c в группе безопасности сервера.
Я проверил, что брандмауэр в Ubuntu 20.04 также отключен.
Кроме того, на том же сервере я запускаю приложение Python, которое предоставляет сервер веб-сокетов, а приложение NodeJS не имеет проблем с подпиской на это соединение ...
И да - я попытался проверить все используемые порты на сервере, но используются только несколько портов. Приложение NodeJS также пытается открыть сервер веб-сокета на заданном порту, но независимо от того, какой порт я пытаюсь использовать, я получаю указанную выше ошибку.