同时运行多个node.js程序

aiazj4mn  于 2022-12-03  发布在  Node.js
关注(0)|答案(3)|浏览(324)

我有一个节点应用程序正在运行,我想在节点运行其他进程时尝试Express框架,但当我运行Express示例应用程序时,它显示:

Error: listen EADDRINUSE
at errnoException (net.js:776:11)
at HTTPServer.Server._listen2 (net.js:915:14)
at listen (net.js:942:10)
at HTTPServer.Server.listen (net.js:992:5)
at Object.<anonymous> (/home/omar/webServer/app.js:35:5)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)

我知道当你试图在同一个端口运行两个节点程序时会发生这种情况,但我在一个应用程序端口3000和另一个8080中使用,所以我不知道一个节点示例是否会阻塞另一个。

s6fujrry

s6fujrry1#

使用Netstat查看侦听端口和进程:

netstat -ntlp

您可以为您的express示例选择任何其他端口(8081、8082等)或通过PID杀死使用8080端口的程序。

ig9co6j1

ig9co6j12#

你可以在你的节点应用程序前安装nginx(运行在不同的端口上)
否则,只需将不同的端口传递给您的应用:

$ NODE_PORT=8080 node app.js
$ NODE_PORT=8081 node app2.js

app.js

var port = process.env.NODE_PORT;
k2fxgqgv

k2fxgqgv3#

这意味着您有一个节点进程当前正在正常运行。请尝试终止所有节点进程,然后重试,确保每个应用程序都使用不同的端口进行侦听。

相关问题