簡體   English   中英

什么是“錯誤:收聽EACCES 0.0.0.0:7090”?

[英]what is 'Error: listen EACCES 0.0.0.0:7090'?

我正在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意味着我沒有根據問題對端口7090的訪問權限,但我不知道如何解決此問題。 任何幫助,不勝感激!

這意味着該端口上已經在運行其他程序(可能是您的應用程序)。 也許您是在后台或以其他用戶身份運行它,但現在無法還原。 您可以使用Windows服務器上的netstat來查找誰在使用該端口: https : //technet.microsoft.com/zh-cn/library/ff961504(v= ws.11).aspx

lsof -i:7090

然后找到PID

kill -9 PID

問題已解決! 該端口已被IISNode意外偵聽。 我剛剛刪除了它,現在可以在端口7090上運行了。

當我嘗試在服務器上運行節點應用程序時,我遇到了同樣的問題,但幸運的是,經過很少的搜索后,我找到了解決方案。我以超級用戶的身份使用了節點命令,這很簡單,我知道發問者會得到答案,但希望這樣做對其他人會有幫助。

sudo node your_app_name.js

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM