express.js 服务器在正在使用的端口上启动

Posted

技术标签:

【中文标题】express.js 服务器在正在使用的端口上启动【英文标题】:express.js server starts on a port that is being used 【发布时间】:2022-01-11 23:11:07 【问题描述】:

进行此设置:

expressjs服务器从一个节点进程启动,监听端口8081。 js 客户端尝试从另一个节点进程向它发出请求,使用节点的http 模块。 客户端失败并出现 400 错误。 相同的 URL (http://localhost:8081/) 在浏览器中打开就好了。

花了几个小时尝试解决它,然后尝试更改端口并且它起作用了。 原来有另一个进程在监听 8081 端口:

$ lsof -i tcp:8081                                        
COMMAND    PID            USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
EUSAManag 1187 oleksandr.suhak    4u  IPv4 0xce3bb9546cff3ab1      0t0  TCP localhost:sunproxyadmin (LISTEN)

(不知道EUSAManag是什么)

我想我的问题是:当端口明显在使用时,快速服务器怎么能正常启动而不会抱怨“另一个进程正在使用端口”。为什么从浏览器访问它时它可以工作,但是从js客户端发出请求时 not 工作?关于弄清楚这里实际发生了什么的任何提示?

【问题讨论】:

关于使用的端口/服务,这可能是相关的:***.com/q/49877762/3761628,但是您的快速应用程序能够启动仍然很奇怪.. 【参考方案1】:

如果猜测 EUSAManager.exe 来自信息安全业务中的软件https://iit.com.ua/downloads 之一。很可能他们的软件对您的操作系统干扰太多。

【讨论】:

以上是关于express.js 服务器在正在使用的端口上启动的主要内容,如果未能解决你的问题,请参考以下文章

如何在超级终端中停止运行 Node.js (Express) 服务器

Nodemon 不使用 express 开发新项目

Express.js - 跨域请求被阻止

服务器未将 JSON 从 Express 返回到 React(代理)

express js:端口正在运行但无法终止端口

启动 node.js express 服务器作为服务