[英]tutorial of node.js code sample fails with Error: listen EADDRINUSE
我是一名初學程序員,正在嘗試使用以下教程網站http://www.nodebeginner.org/#hello-world學習node.js
我到了試圖設置服務器的地步,但是下面的代碼出錯了
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
錯誤:
events.js:72
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at errnoException (net.js:884:11)
at Server._listen2 (net.js:1022:14)
at listen (net.js:1044:10)
at Server.listen (net.js:1110:5)
at Object.<anonymous> (/Users/.........../server.js:7:4)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
任何幫助,將不勝感激
EADDRINUSE表示地址正在使用中。
基本上,您嘗試同時啟動兩個使用端口8888的服務器。您必須在啟動另一個服務器之前停止或終止它們。 端口8888上的另一個服務器可能是運行節點腳本的另一個進程,或者它可能是系統中用於在端口8888上提供內容的其他服務器。
或者,如果在終止舊服務器后不讓套接字靜置幾秒鍾,則可以獲得此信息。
基於這個偉大的答案的更實際的答案。
使用此命令找出使用端口8888的內容:
lsof -i tcp:8888
你應該得到這樣的東西:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 86456 myName 13u IPv6 0xa6b50fb47c9c3c81 0t0 TCP *:ddi-tcp-1 (LISTEN)
既然你知道哪個過程在路上,那就殺了! 輕輕地,像這樣:
kill -15 86456
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.