美文网首页
node本地服务启动报Error: listen EADDRIN

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

作者: 34df2971538e | 来源:发表于2017-05-25 12:04 被阅读1089次

    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

    如果遇到了可以一试哦。

    相关文章

      网友评论

          本文标题:node本地服务启动报Error: listen EADDRIN

          本文链接:https://www.haomeiwen.com/subject/jboaxxtx.html