【问题标题】:what is 'Error: listen EACCES 0.0.0.0:7090'?什么是“错误:听 EACCES 0.0.0.0:7090”?
【发布时间】:2017-08-08 11:02:26
【问题描述】:

我正在 windows server 2012 上运行 nodejs 服务器。应用程序端口是 7090。这是 server.js 文件的一部分:

var port    = process.env.PORT || 7090;
app.listen(port, function() {
  console.log('Listening on port ' + port);
});

当我用 node server.js 运行它时,我得到这个错误:

Error: listen EACCES 0.0.0.0:7090
    at Object.exports._errnoException (util.js:1008:11)
    at exports._exceptionWithHostPort (util.js:1031:20)
    at Server._listen2 (net.js:1240:19)
    at listen (net.js:1289:10)
    at Server.listen (net.js:1385:5)
    at EventEmitter.listen (D:\STH\node_modules\express\lib\application.js:617:24)
    at Object.<anonymous> (D:\STH\app.js:26:5)
    at Module._compile (module.js:541:32)
    at Object.Module._extensions..js (module.js:550:10)
    at Module.load (module.js:458:32)

​当我将端口更改为除 7090 之外的任何其他数字时,它都有效。

错误:监听 EACCES 0.0.0.0:7090 我已经知道,根据this 问题,错误 EACCES 意味着我没有对端口 7090 的访问权限,但我不知道如何解决这个问题。非常感谢任何帮助!

【问题讨论】:

  • 7090 上是否已经有东西在监听?
  • Netsh http 添加 urlacl
  • 我的猜测是您正在运行某种防病毒或防火墙,阻止您的 Node 应用程序侦听端口 7090。

标签: javascript node.js port windows-server-2012-r2


【解决方案1】:

这意味着其他东西(可能是您的应用程序)已经在该端口上运行。也许您在后台或以其他用户身份运行它并且现在无法恢复它。您可以在 windows 服务器上使用 netstat 查看谁在使用该端口:https://technet.microsoft.com/en-us/library/ff961504(v=ws.11).aspx

【讨论】:

  • 当该端口上已经有东西在侦听时,您会期望EADDRINUSE,而不是EACCES(尽管前者可能仅适用于Unix)。
  • 当我检查 netstat -anb 时,我收到此消息 - 无法获取所有权信息 TCP 0.0.0.0:7090 0.0.0.0:0 LISTENING 。这是否意味着它已经在听什么了?
【解决方案2】:

lsof -i:7090

然后找到 PID

kill -9 PID

【讨论】:

  • 我在windows上,不能使用lsof
【解决方案3】:

问题已解决!该端口已经意外地被 IISNode 监听。我刚刚删除它,现在可以在端口 7090 上运行。

【讨论】:

  • 我也遇到同样的问题,你怎么删的?
  • @K.S 你在 Windows 服务器上运行 IISNode 吗?
  • 是的,它是远程 windows server 12
  • 我正在尝试在 8000 端口上运行,但它的显示权限拒绝访问,您能帮帮我吗?
  • 如果您运行 IISNode,只需从 widows 服务器中找到并删除它。这就是我作为我的解决方案所做的。并且不要使用 windows web 服务器来运行节点应用程序。只需使用 nssm.ccgithub.com/coreybutler/node-windows 等工具将 Node 应用程序作为 Windows 服务运行
【解决方案4】:

当我尝试在服务器上运行 node 应用程序时,我遇到了同样的问题,但幸运的是,经过很少的搜索,我找到了解决方案,并且我以超级用户身份使用 node 命令,这很简单,我知道提问者得到了答案但希望这对其他人有所帮助。

sudo node your_app_name.js

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 1970-01-01
    • 2021-10-30
    • 2020-10-11
    • 2018-04-24
    • 2017-08-01
    • 2020-06-07
    相关资源
    最近更新 更多