2017-08-10 195 views
0

好吧我已經在運行fedora服務器的電腦上安裝了我自己的網絡服務器。一切都正確配置。我有我的DNS服務器將我的域名指向IP並可以連接。問題是我想在服務器上運行節點應用程序。我無法找到正確的指南或示例。看來,我必須通過終端在服務器上運行'node app'。每次我都會遇到這個錯誤。專用網絡服務器,nodeJS無法運行應用程序

Error: listen EADDRINUSE 192.168.1.5:8080 
at Object.exports._errnoException (util.js:1020:11) 
at exports._exceptionWithHostPort (util.js:1043:20) 
at Server._listen2 (net.js:1258:14) 
at listen (net.js:1294:10) 
at net.js:1404:9 
at _combinedTickCallback (internal/process/next_tick.js:83:11) 
at process._tickCallback (internal/process/next_tick.js:104:9) 
at Module.runMain (module.js:606:11) 
at run (bootstrap_node.js:389:7) 
at startup (bootstrap_node.js:149:9) 

從我讀到的,這意味着端口是不開放的。然而它是。我做錯了什麼,我該如何解決這個問題。相同的代碼更改爲這臺電腦本地正常工作。

var http = require('http'), 
express = require('express'), 
app = express(); 

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(8080, '192.168.1.5'); 

console.log('Server running at http://192.168.1.5:8080/'); 
+1

看起來您在端口8080上運行了多個服務器實例 –

+1

您可能正在運行另一個node.js實例。在終端輸入:'killall node',然後嘗試再次啓動您的應用程序。 –

+0

sh:第0行:kill:all:參數必須是進程或作業ID是我從中得到的。此外,我剛剛重新啓動電腦,並運行節點應用程序,仍然是相同的錯誤 –

回答

0

你可以看到哪些進程正在使用該端口與

sudo netstat -tulpn | grep 8080 

的最後一列「PID /程序名稱」得到就是這樣的端口上運行的PID,然後運行

sudo kill -9 <pid> 
相關問題