无法连接到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>