我有简单的 Node 服务器,如下所示:
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
运行它。然后在浏览器中,端口 3001
和 3000
都可以访问服务器。如果我用其他东西替换 3001,它将在 3000
和其他东西上运行。
这是为什么?
最佳答案
也许您有另一个实例正在运行(在后台,在其他终端中)并监听端口 3000。
要查看哪些端口打开以及由哪个进程打开,请运行:
netstat -ltnp
要查看正在运行的进程,请运行:
ps aux | grep node
或者:
ps aux | grep server.js
尝试关闭程序并确保端口 3001 上没有任何内容监听,然后尝试访问端口 3000。
关于node.js - 为什么这个简单的 Express 服务器在两个端口上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42333024/