什么是'错误:听EACCES 0.0.0.0:7090&#39 ;?

时间:2017-08-08 11:02:26

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

我正在Windows Server 2012上运行nodejs服务器.App端口是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 我已经知道,错误EACCES意味着我根据this问题没有对端口7090的访问权限,但我不知道如何解决这个问题。任何帮助非常感谢!

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

lsof -i:7090

找到PID然后

kill -9 PID

答案 2 :(得分:0)

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

答案 3 :(得分:0)

当我尝试在服务器上运行节点应用程序时,我遇到了同样的问题,但幸运的是,在进行少量搜索之后,我找到了解决方案,然后我以超级用户身份使用了节点命令,这非常简单,我知道发问者已经得到了答案但希望这会对其他人有所帮助。

sudo node your_app_name.js