2017-08-10 169 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> 
相关问题