为什么这个简单的快速服务器 运行 在两个端口上?

Why is this simple express server running on two ports?

我有简单的节点服务器,像这样:

var express = require('express');  
var request = require('request');
var apiServerHost = "http://<IP address>:3000/api#!/"


var app = express();  
app.use('/', function(req, res) {  
  var url = apiServerHost + req.url;
  req.pipe(request(url)).pipe(res);
});

app.listen(3001); 

我运行它与node server.js。然后在浏览器中,端口 30013000 都可以访问服务器。如果我用其他任何东西替换 3001,它会在 3000 和其他东西上 运行。

这是为什么?

也许您有另一个实例 运行ning(在后台,在其他终端)并监听端口 3000。

要查看打开了哪些端口以及由哪个进程打开,运行:

netstat -ltnp

要查看哪些进程正在 运行ning,运行:

ps aux | grep node

或:

ps aux | grep server.js

尝试关闭程序并确保没有任何内容在端口 3001 上侦听,然后尝试访问端口 3000。