多个node.js程序同时运行

时间:2012-11-05 23:12:06

标签: node.js express port collapse

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

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中使用时会发生这种情况,所以我不知道一个节点实例是否阻挡了另一个节点。

3 个答案:

答案 0 :(得分:0)

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

netstat -ntlp

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

答案 1 :(得分:0)

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

否则,只需将另一个端口传递到您的应用:

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

app.js

var port = process.env.NODE_PORT;

答案 2 :(得分:0)

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