Phil Funk
Phil Funk

Reputation: 1

New to using NodeJS Express Server

I trying to view a static html page at localhost, but get the following error message:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: listen EACCES
    at errnoException (net.js:901:11)
    at Server._listen2 (net.js:1020:19)
    at listen (net.js:1061:10)
    at Server.listen (net.js:1135:5)
    at Function.app.listen (/home/phil/xProgramming/AngJS/Project/node_modules/express/lib/application.js:536:24)
    at Object.<anonymous> (/home/phil/xProgramming/AngJS/Project/server.js:6:5)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

I've tried killall, but I still get the same error message.

I new to Linux and am using Ubuntu 14.04

Upvotes: 0

Views: 86

Answers (1)

Jedediah Smith
Jedediah Smith

Reputation: 578

The EACCES error normally means that you are trying to bind to a port and failing. This is probably because you are trying to bind to port 80 without root permissions. Try running node with root permissions and it should work.

sudo node server.js

or

sudo nodejs server.js

Depending on how you have Ubuntu setup.

If this is a development environment instead of running as root you should use a port greater than 1024. Typically you will find people using port 3000 for node though 8000 and 8080 are also used. Here is how I normally do this when using Express.

var port = process.env.PORT || 3000;
app.listen(port, function() {
  console.log("Listening on " + port);
});

Upvotes: 1

Related Questions