如何在开发过程中运行多个Node.js应用程序

问题描述:

我想在我的开发机器中运行两个node.js应用程序,但第二个应用程序在运行时引发以下异常。如何在开发过程中运行多个Node.js应用程序

有没有办法以并行方式运行这两个应用程序?

enter image description here

enter image description here

+3

这两个应用程序都试图在端口3000上运行? – Tom 2014-08-27 12:53:30

+0

解释实际的错误:EADDRINUSE的意思是'**错误,地址正在使用**'。有关所有这些错误的含义,请参阅http://www.gnu.org/software/libc/manual/html_node/Error-Codes.html。 – mikemaccana 2014-08-27 12:59:17

地址已在使用中,你应该端口例如从3000变为3001脚本的第二个实例。

+0

我改变了港口及其工作,非常感谢... – 2014-08-27 12:57:39

由于3000已被使用,您需要使用不同的端口。

var http = require('http'); 
http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(3001, "127.0.0.1"); 

您不能在同一个端口上绑定两个套接字。因此错误。

通常的良好做法是依赖于PORT环境变量,以便能够从命令行快速更改侦听端口。

var http = require('http'); 
var port = process.env.PORT || 3000; 

http.createServer().listen(port); 

然后启动你的应用程序:

$ PORT=8080 node app.js 

关于如何在命令行中定义的环境变量跨平台的说明,请参阅here