如何更改Node.js侦听端口?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (59)

我刚刚在Windows上安装了node.js。我有这个简单的代码不运行:

我得到:错误:listen EADDRINUSE

有没有一个配置文件告诉node.js监听特定的端口?

问题是我已经在端口80上监听Apache了。

var http = require('http'); 
var url = require('url'); 

http.createServer(function (req, res) { 
 console.log("Request: " + req.method + " to " + req.url); 
 res.writeHead(200, "OK"); 
 res.write("<h1>Hello</h1>Node.js is working"); 
 res.end(); 
}).listen(5454); 
console.log("Ready on port 5454");
提问于
用户回答回答于

没有配置文件,除非你自己创建一个。但是,端口是该listen()函数的参数。例如,要监听端口8124:

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

如果你在查找已打开的端口时遇到问题,可以转至命令行并输入:

netstat -ano

查看每个适配器使用的所有端口的列表。

用户回答回答于

我通常手动设置我在app.js文件中侦听的端口(假设你使用的是express.js

var server = app.listen(8080, function() {
    console.log('Ready on port %d', server.address().port);
});

扫码关注云+社区