簡體   English   中英

每次運行cluster.fork()時,都會出現錯誤:綁定EADDRINUSE

[英]Everytime I run cluster.fork(), I get a Error: bind EADDRINUSE

我正在使用node.js,並使用集群模塊。 每次我運行cluster.fork(),我總是得到一個

throw er; // Unhandled 'error' event
Error: bind EADDRINUSE
    at exports._errnoException (util.js:746:11)
at cb (net.js:1205:33)
at rr (cluster.js:592:14)
at Worker.<anonymous> (cluster.js:563:9)
at process.<anonymous> (cluster.js:692:8)
at process.emit (events.js:129:20)
at handleMessage (child_process.js:324:10)
at Pipe.channel.onread (child_process.js:352:11)

我一直在谷歌搜索,我不知道這是怎么回事,因為我沒有傳遞任何端口號碼。

謝謝

編輯:發布代碼

var setupWorkers = function() {
   if (cluster.isMaster) {
   // Fork workers.
       for (var i = 0; i < 5; i++) {
       cluster.fork();
   }

 }

這是在我通過調用節點app.js運行的app.js中調用的函數

我使用所有線程不止一次啟動服務器,因此端口已被綁定

您提供的堆棧跟蹤表明EADDRINUSE來自net模塊。 EADDRINUSE通常意味着您嘗試EADDRINUSE偵聽IP /端口組合。 因此,例如,如果這是一個集群Web服務器,也許所有工作者都試圖綁定到同一IP地址上的端口80。 沒有更多的代碼,就無法分辨出發生了什么。

您在后續注釋中提供的示例代碼不會為我觸發EADDRINUSE 相反, cluster.fork is not a function錯誤cluster.fork is not a function因為在調用cluster.fork()之前沒有檢查cluster.isMaster

暫無
暫無

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

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