“node index.js”(EADDRINUSE)时节点服务器错误

问题描述 投票:3回答:2

在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:找不到进程

使用“sudo netstat -tulpn”,没有任何迹象表明端口80正在侦听。

因为它是我的第一个节点服务器实验,我不知道如何继续。

linux node.js ubuntu-12.04 linuxmint
2个回答
4
投票

检查index.js文件中Node使用哪个端口作为开始。还有另一个使用此端口的应用程序。所以你有两个选择:

  • 杀了这个程序
  • 使用Node app的另一个端口

0
投票

显然,该端口被EADDRINUSE错误占用。如前所述,您必须使用其他端口或终止应用程序。

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

你可以在这里使用fuser实用程序。

关于Fuser

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

这里提供一个相关的热熔器链接。

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

© www.soinside.com 2019 - 2024. All rights reserved.