2016-04-08 50 views
0

在Linux新的Im,所以我得到了aws亞馬遜服務器和var/www/html中安裝nodejs和mongodb。進出口我的nodejs應用程序進入EACCES

導演:

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

在我server.js:

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

當我運行:

$ node server 

我得到這個錯誤:

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) 

我的應用程序運行在8080端口,但我不能運行mongosee這個錯誤。你能幫助我嗎?

回答

0

看起來像端口8080已被使用。嘗試不同的端口臨時設置爲你的程序:

app.listen(8085); 

如果問題消失,你需要找到哪些程序正在使用端口8080。您可以使用netstat -tulpn進行此類任務。

+0

嗨,我想使用8080,因爲我的網站只在8080上運行。所以,我只是改爲8085進行測試,問題沒有了。當我做了netstat -tulpn,我得到了這個:tcp 0 0 0.0.0.0:8080 0.0.0.0:* LIST – Tiago

+0

我該如何在8080上運行? – Tiago

+0

要在8080上運行你的程序,你需要停止已經使用8080的程序。要知道使用8080的程序,你需要使用'netstat -tulpn'。輸出的最後一列是程序名:'tcp 0 0 127.0.0.1:34435 0.0.0.0:* LISTEN 13718/firefox'。看起來你沒有發佈所有的輸出。 – demas

相關問題