1

我有一个节点应用程序正在运行,我想在节点运行另一个进程时尝试 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,所以我不知道一个节点实例是否会阻止另一个。

4

3 回答 3

0

您可以在节点应用程序前面安装 nginx(在不同的端口上运行)

否则,只需将不同的端口传递给您的应用程序:

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

应用程序.js

var port = process.env.NODE_PORT;
于 2012-11-06T00:06:23.820 回答
0

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

于 2012-11-06T01:01:11.847 回答
0

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

netstat -ntlp

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

于 2012-11-05T23:31:28.453 回答