我正在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
我已经知道,错误EACCES意味着根据this问题,我没有访问端口7090的权限,但是我不知道如何解决此问题。任何帮助,不胜感激!

最佳答案

这意味着该端口上已经在运行其他程序(可能是您的应用程序)。也许您是在后台或以其他用户身份运行它,但现在无法还原。您可以通过在Windows服务器上使用netstat来查找谁在使用端口:https://technet.microsoft.com/en-us/library/ff961504(v=ws.11).aspx

关于javascript - 什么是“错误:收听EACCES 0.0.0.0:7090”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45566571/

10-11 19:52