簡體   English   中英

node js偵聽簡單httpserver的EADDRINUSE錯誤

[英]node js listen EADDRINUSE error for simple httpserver

我有簡單的節點js http服務器。

var http = require("http");

http.createServer(function(request, response) {
  response.writeHead(200, {"Content-Type": "text/plain"});
  response.write("Hello World");
  response.end();
}).listen(8888);

如果我跑

node basicserver.js 

我明白了

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: listen EADDRINUSE
    at errnoException (net.js:642:11)
    at Array.0 (net.js:743:26)
    at EventEmitter._tickCallback (node.js:192:40)

我看過這篇文章,但該帖子似乎是特定於TCP服務器而不是http服務器。 有誰可以幫忙。

您正在偵聽的端口已被另一個進程監聽。 在這種情況下,我感覺這是你的自我。 你可以做一個ps aux | grep node ps aux | grep node然后使用kill <pid>殺死你的節點進程。 除此之外,您還可以嘗試其他端口。

--Update--

如果你想找到哪個進程正在偵聽,你可以使用netstat -lpn-l是查找偵聽端口, -p是包含進程名稱和pid, -n是不解析主機名,或者它會很慢),找到正在偵聽不同端口的進程。 如果有太多,你可以做netstat -lnp | grep :8888 netstat -lnp | grep :8888

也可以使用, fuser 8888/tcp ,它會顯示進程pid,並且還會添加-k將以最快的方式-k進程。

我意識到這兩個命令只適用於linux

殺死我機器上的所有實驗......

 killall node

您正在偵聽的端口已被另一個進程監聽。

當我遇到這個錯誤時,我使用Windows PowerShell殺死了該進程(因為我使用的是Windows)

  1. 打開windows powershell
  2. 輸入ps然后你就可以得到進程列表
  3. 找到名為node的進程,並記下Id
  4. 鍵入Stop-process <Id>

我認為這對Windows用戶有幫助。

嘗試運行服務器時可能會出現同樣的問題,但您沒有root權限。

我也使用EADDRINUSE 127.0.0.1遇到了這個問題。 檢查節點進程后,我將服務器IP更改為“localhost”。 這樣做之后就開始了。 希望這可以幫助。

在我的Linux Mint只為PID工作殺了我:

netstat -nltp | grep 8080 netstat -nltp | grep 8080 - 顯示使用8080端口的PID ,我的輸出:

tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 27599/node - PID節點dev的服務器的是27599在我的情況

然后殺死:

kill -9 <PID>

kill -9 27599

前言:

不知道是什么錯誤,但我啟動我的WebPack開發服務器,如npm run dev

webpack-dev-server --hot --host int.loc --port 8080

當中斷他 - 在終端通過Ctrl+C並再次啟動它 - 他導致相同的錯誤Error: listen EADDRINUSE 127.0.0.1:8080 ,但在它工作完美之前的所有時間。

killall node沒有幫助。

對於Windows用戶:在Powershell中,您可以使用:

Stop-Process -Name "ProcessName" -Force

在這種情況下, "ProcessName"將是"node"

更多信息: 如何殺死Windows中的進程

暫無
暫無

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

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