【问题标题】:node server error when "node index.js" (EADDRINUSE)“node index.js”(EADDRINUSE)时出现节点服务器错误
【发布时间】:2014-01-18 21:27:06
【问题描述】:

在 Mint Maya 64 上,如果我在终端中运行“node index.js”(v0.10.21),我会收到以下错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1039:14)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1127:5)
    at Object.<anonymous> (/home/USER/Desktop/server/index.js:73:24)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)

我的 apache2 服务器已停止,并且没有其他节点服务器在运行。

我试过“killall node”-> node: no process found

使用“sudo netstat -tulpn”没有任何迹象表明在端口 80 上监听任何东西。

因为这是我的第一个节点服务器实验,我不知道如何进行。

【问题讨论】:

  • 也许您的 Node 应用程序未配置为侦听端口 80,而是在另一个被 占用的端口上?

标签: linux node.js ubuntu-12.04 linux-mint


【解决方案1】:

很明显,EADDRINUSE 错误中的端口被占用。如前所述,您要么必须使用其他端口,要么终止应用程序。

您可以做的其他事情是识别占用该特定端口的进程并将其杀死(这在某些概念中确实很方便)

您可以在此处使用fuser 实用程序。

关于定影器

fuser 命令是一个非常智能的 UNIX 实用程序,用于查找哪个进程正在使用文件、目录或套接字。它还提供有关拥有进程的用户和访问类型的信息。 fuser 工具显示使用指定文件或文件系统的每个进程的进程 id(PID)。

在此为 fuser 提供一个相关链接。

https://www.digitalocean.com/community/tutorials/how-to-use-the-linux-fuser-command

【讨论】:

    【解决方案2】:

    首先在 index.js 文件中检查 Node 使用的端口。 还有另一个应用程序使用此端口。 所以你有两个选择:

    • 杀掉这个应用
    • 为 Node 应用使用另一个端口

    【讨论】:

      猜你喜欢
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-23
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多