user3259232
user3259232

Reputation: 95

Running simple node js server

I am running a simple node js server on my Mac. I also have mamp installed. Just FYI.I am able to go to localhost:8888 just fine and preview the web page. However, in my server.js file, if I include the host as a parameter to the server.listen function like so

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

I get the following error in my terminal.

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$ 

If I just have

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

everything works fine. Does this have anything to do with the fact that I have mamp installed? Just want to understand why one works and the other doesn't.

Upvotes: 1

Views: 614

Answers (3)

Amolpskamble
Amolpskamble

Reputation: 978

Try putting your host after port as following

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

app.listen documentation

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

Upvotes: 2

Nico
Nico

Reputation: 179

Probably you're currently running your server in that port. Try with:

killall node

Upvotes: 0

krisnik
krisnik

Reputation: 1436

Some other process might have been using 8888 port. You can either kill that process or use someother port for your nodejs server.

To get the process id of the process using port 8888, use

lsof -i tcp:8888

and kill the process using

kill -9 <pid>

Hope this helps.

Upvotes: 0

Related Questions