运行简单的节点js服务器

时间:2018-08-31 16:15:43

标签: node.js

我正在Mac上运行一个简单的node js服务器。我也安装了扫帚。仅供参考。我可以转到localhost:8888并预览网页。但是,在我的server.js文件中,如果我将主机作为这样的server.listen函数的参数包括在内

server.listen(127.0.0.1, 8888, function(){
        console.log('Server running');
})

我的终端出现以下错误。

Error: listen EADDRINUSE 127.0.0.1
    at Object._errnoException (util.js:992:11)
    at _exceptionWithHostPort (util.js:1014:20)
    at Server.setupListenHandle [as _listen2] (net.js:1338:19)
    at listenInCluster (net.js:1396:12)
    at Server.listen (net.js:1491:5)
    at Object.<anonymous> (/Users/username/Desktop/nodeServer/server.js:12:8)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
Users-Mac-Pro:nodeServer user$ 

如果我只有

server.listen(8888, function(){
        console.log('Server running');
})

一切正常。这与我安装了Mamp的事实有什么关系吗?只想了解为什么一个有效而另一个无效。

3 个答案:

答案 0 :(得分:2)

尝试将主机放在端口后,如下所示

server.listen(8888, '127.0.0.1', function() {
console.log('Server running');
})

app.listen documentation

app.listen([port[, host[, backlog]]][, callback])

答案 1 :(得分:0)

某些其他进程可能一直在使用8888端口。您可以终止该进程,也可以将其他端口用于Node.js服务器。

要使用端口8888获取进程的进程ID,请使用

lsof -i tcp:8888

并使用

终止进程

kill -9 <pid>

希望这会有所帮助。

答案 2 :(得分:0)

当前您可能正在该端口上运行服务器。尝试:

killall node