node本地服务启动报Error: listen EADDRINUSE

node本地服务启动时,有时会报错,不知大家有没有遇到过,下面写个🌰来说一下这个现象,以及解决方法。

先来一个简单的node创建服务器:

var http = require ("http");

http.createServer(function (request, response){

//发送HTTP头部

//HTTP状态值:200 : OK

//内容类型:text/plain

response.writeHead(200, {'Content-Type':'text/plain'})

//发送响应数据 “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命令执行以上的代码:

node server.js

Server running at http://192.168.1.20:8081/   //出现这个打印结果说明服务已正常启动

但是有时会出现如下报错:

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 }

该错误是说端口冲突,可以换个端口后再执行,也可看看哪些node进程在运行中,使用ps | grep node命令查看,有个方便的结束所有node进程的方式:

功能:杀死进程名称中包含node的所有进程

ps -ef | grep node | awk '{print $2}' | xargs kill -9

如果遇到了可以一试哦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • 1.第一步,根据端口号查找对应的进程号netstat -ano | findstr 80 //列出进程极其占用的端...
    卡农me阅读 1,720评论 0 0
  • Node.js是目前非常火热的技术,但是它的诞生经历却很奇特。 众所周知,在Netscape设计出JavaScri...
    w_zhuan阅读 3,638评论 2 41
  • 模块化公布自己的模块功能. 其他模块调用另外的模块. 公布方法 如果要输出一个键值对象{},可以利用exports...
    httIsHere阅读 533评论 0 0
  • 1. 越来越觉得蒲松龄在《聊斋》里道尽了男人的梦想,描绘了一个个屌丝逆袭最终抱得美人归的故事。 故事中的男主角都是...
    车前草JYJ阅读 556评论 2 4