内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
我刚刚在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);
});