0

NodeJS バージョン: LTS 12.17 は次のようにインストールされます。

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install nodejs

私はかなり奇妙な問題を抱えています:

私のNodeJSアプリの1つが突然報告します: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)

権限と関係がありますか?

サーバーのセキュリティグループですべての出入りトラフィックを許可しようとしました。

Ubuntu 20.04 のファイアウォールも無効になっていることを確認しました。

また、同じサーバーで Web ソケット サーバーを公開する Python アプリを実行していますが、NodeJS アプリはこの接続をサブスクライブすることに問題はありません...

はい、サーバーで使用されているすべてのポートを確認しようとしましたが、使用されているポートはごくわずかです。NodeJS アプリは、特定のポートで websocket サーバーを公開しようとしますが、どのポートを使用しようとしても、上記のエラーが発生します。

4

1 に答える 1