2016-04-08 8 views
0

Ich bin neu in Linux, also habe ich einen AWS Amazon Server und installieren Sie Nodejs und Mongodb in Var/Www/html.Ich höre EACCES auf meiner Nodejs App

Dir:

-var 
-www 
    -html 
    -server.js 
    -public 
    -node_modules 
    -express 
    -mongodb 
    -mongoose 

In meinem server.js:

var express = require('express'); 
    var app = express(); 
    app.use(express.static(__dirname + "/public")); 
    app.listen(8080); 

Wenn ich laufen:

$ node server 

ich diesen Fehler:

Error: listen EADDRINUSE 
    at errnoException (net.js:905:11) 
    at Server._listen2 (net.js:1043:14) 
    at listen (net.js:1065:10) 
    at Server.listen (net.js:1139:5) 
    at EventEmitter.listen (/var/www/html/node_modules/express/lib/application.j s:617:24) 

Meine App läuft in Port 8080. Aber ich kann mongosee mit diesem Fehler nicht ausführen. Kannst du mir helfen, Jungs?

Antwort

0

Sieht aus wie der Port 8080 wird bereits verwendet. Probieren Sie verschiedene Port zu Ihrem Programm setzen vorübergehend:

app.listen(8085); 

Wenn das Problem verschwinden Sie Programm finden, müssen die ist, über Port 8080. Sie können netstat -tulpn für eine solche Aufgabe verwenden.

+0

Hallo, ich möchte 8080 verwenden, weil meine Website nur auf 8080 läuft. Also, ich habe gerade auf 8085 gewechselt, um zu testen und das Problem ist weg. Als ich Netstat -tulpn tat, bekam ich folgendes: tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTE – Tiago

+0

Wie kann ich es tun, um auf 8080 zu laufen? – Tiago

+0

Um Ihr Programm auf 8080 auszuführen, müssen Sie das Programm beenden, das bereits 8080 verwendet. Um das Programm zu kennen, das 8080 verwendet, müssen Sie 'netstat -tulpn' verwenden. Die letzte Spalte der Ausgabe ist der Programmname: 'tcp 0 0 127.0.0.1:34435 0.0.0.0:* LISTEN 13718/firefox'. Sieht so aus, als ob du nicht alle Ausgaben gepostet hast. – demas

Verwandte Themen