ERRADDRINUSE错误解析与解决:轻松解决Web服务器端口冲突问题

15,862次阅读
没有评论

共计 2083 个字符,预计需要花费 6 分钟才能阅读完成。

ERRADDRINUSE 错误简介

启动或重新启动 Web 服务器时通常会遇到此错误。它表明服务器正在尝试侦听已被其他应用程序占用的端口上的连接。

报错信息

Error: listen EADDRINUSE: address already in use :::3001
    at Server.setupListenHandle [as _listen2] (node:net:1330:16)
    at listenInCluster (node:net:1378:12)
    at Server.listen (node:net:1465:7)
    at Function.listen (/home/ayo/dev/demo/node_modules/express/lib/application.js:618:24)
    at Object. (/home/ayo/dev/demo/main.js:16:18)
    at Module._compile (node:internal/modules/cjs/loader:1103:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)
Emitted 'error' event on Server instance at:
    at emitErrorNT (node:net:1357:8)
    at processTicksAndRejections (node:internal/process/task_queues:83:21) {
  code: 'EADDRINUSE',
  errno: -98,
  syscall: 'listen',
  address: '::',
  port: 3001
}

解决方案

解决此错误的最简单方法是将应用程序配置为侦听不同的端口(最好通过更新环境变量)。但是,如果您需要正在使用的特定端口,您可以通过以下命令找到使用该端口的应用程序的进程 ID:

lsof -i tcp:3000

输出

COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
node    2902  ayo   19u  IPv6 781904      0t0  TCP *:3001 (LISTEN)

PID 然后,通过将值传递给命令来终止进程 kill:

kill -9 2902

运行上述命令后,应用程序将被强制关闭,从而释放所需的端口以供您使用。

补充方案

ERRADDRINUSE 错误解析与解决

在启动或重启 Web 服务器时,我们经常会遇到 ERRADDRINUSE 错误。这个错误表明服务器试图在一个已经被其他应用程序占用的端口上监听连接。要解决这个问题,我们可以采取以下措施。

步骤 1

首先,最简单的解决方法是配置应用程序在不同的端口上监听(最好通过更新环境变量)。但是,如果您确实需要使用当前被占用的特定端口,可以通过以下命令找到使用该端口的应用程序的进程 ID:

netstat -tuln | grep : 端口号 

将“端口号”替换为您需要的端口号。运行此命令后,您将看到使用该端口的应用程序的进程 ID。

步骤 2

然后,您可以使用以下命令终止该进程:

kill 进程 ID

将“进程 ID”替换为实际的进程 ID。这样,您就可以释放被占用的端口,然后重新启动您的 Web 服务器。

总结

ERRADDRINUSE 错误是由于服务器试图在已被其他应用程序占用的端口上监听连接而产生的。解决这个问题的方法包括配置应用程序在不同的端口上监听或找到并终止占用端口的应用程序。希望这些方法能帮助您解决 ERRADDRINUSE 错误。

文章来源地址 https://www.toymoban.com/diary/nodejs/469.html

到此这篇关于 ERRADDRINUSE 错误解析与解决:轻松解决 Web 服务器端口冲突问题的文章就介绍到这了, 更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持 TOY 模板网!

原文地址:https://www.toymoban.com/diary/nodejs/469.html

如若转载,请注明出处:如若内容造成侵权 / 违法违规 / 事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于1970-01-01发表,共计2083字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)