无法连接到nodejs服务器

我在我的服务器上运行Apache。 去我的地址xxxx:端口加载/ var / www中的index.html页面。 当我停止服务器,我不能再连接(所有的好)。

现在我用node server.js启动节点服务器(下面的server.js文件也位于/ var / www中)。

 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(port, 'xxxx'); console.log('Server running at http://xxxx:port/'); 

这给出错误listen EADDRNOTAVAIL ,但我没有运行任何其他节点服务器(没有其他进程在此端口上运行)。

我也尝试省略IP地址,只是这样listen(port);listen(port);

这不会返回错误,但是我无法连接到服务器(浏览器说: Firefox can't establish a connection to the server at xxxx:p. )。

该端口正在使用或不可用。 尝试不同的端口,如:

 listen(88, 'xxxx'); 

看看是否连接 另外,请确保xxxx实际上是您的服务器的IP地址。 您可以通过以下方式监听所有IP:

 listen(88, '0.0.0.0'); 

或通过完全保留主机/ IP部分。 如果它连接到另一个端口,则只需要find正在使用的端口即可。 如果是端口80,请使用:

 sudo netstat -tulpn | grep :80 

获得使用该端口的程序。

我发现了这个问题。 您不需要指定主机名称:

listen(port, 'xxxx')

应该是

listen(port)

否则服务器将不接受任何连接,除了指向指定的ip的连接。

听起来像港口被locking和使用..

以下命令将为您提供正在运行的节点进程的列表。

 ps | grep node 

要释放该端口,请使用以下步骤停止该进程。

 kill <processId>