node本地服務啟動時,有時會報錯,不知大家有沒有遇到過,下面寫個??來說一下這個現(xiàn)象,以及解決方法。
先來一個簡單的node創(chuàng)建服務器:
var http = require ("http");
http.createServer(function (request, response){
//發(fā)送HTTP頭部
//HTTP狀態(tài)值:200 : OK
//內容類型:text/plain
response.writeHead(200, {'Content-Type':'text/plain'})
//發(fā)送響應數(shù)據(jù) “hello world”
response.end('Hello World\n');
}).listen(8081);
process.on('uncaughtException', function(err) {
console.log(err);
});
console.log('Server running at http://192.168.1.20:8081/');
以上代碼我們完成了一個可以工作的 HTTP 服務器。
使用node命令執(zhí)行以上的代碼:
node server.js
Server running at http://192.168.1.20:8081/ ? //出現(xiàn)這個打印結果說明服務已正常啟動
但是有時會出現(xiàn)如下報錯:
Server running at http://192.168.1.20:8081/
{ Error: listen EADDRINUSE :::8081
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at Server.setupListenHandle [as _listen2] (net.js:1259:14)
at listenInCluster (net.js:1307:12)
at Server.listen (net.js:1406:7)
at Object. (/Users/chenzhenyang/Desktop/server.js:13:4)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
code: 'EADDRINUSE',
errno: 'EADDRINUSE',
syscall: 'listen',
address: '::',
port: 8081 }
該錯誤是說端口沖突,可以換個端口后再執(zhí)行,也可看看哪些node進程在運行中,使用ps | grep node命令查看,有個方便的結束所有node進程的方式:
功能:殺死進程名稱中包含node的所有進程
ps?-ef?|?grep?node?|?awk?'{print?$2}'?|?xargs?kill?-9
如果遇到了可以一試哦。