在端口3000上的VPS上运行node.js服务器并且连接超时

时间:2014-06-24 03:46:16

标签: node.js vps

在hostgator中我有一个运行centOS的VPS。我安装了NodeJS和屏幕。 我将以下代码添加到名为index.js的文件中:

//1
var http = require('http');

//2 
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/html'});
  res.end('<html><body><h1>Hello World</h1></body></html>');
}).listen(3000);

console.log('Server running on port 3000.');

开屏幕:1&#39;我运行以下命令:

node index.js

它为我提供了控制台输出,说明在端口3000上运行的服务器。&#39; 我切换到&#39;屏幕:0&#39;并运行以下命令:

curl localhost:3000

我收到以下回复:

<html><body><h1>Hello World</h1></body></html>

然而,当我尝试使用服务器的IP地址时(用xxx代替真实的IP地址,导致我没有透露我的VPS IP地址):

xxx.xxx.xxx.xxx:3000

页面永远不会出现,最终会超时。 我尝试了各种端口(8080,7000)但无济于事。 我是否需要将iOS项目放在不同的目录中。 目前我在/root/Projects/NodeTutorial2/index.js中有它。 我需要做什么才能从我的VPS获得hello world响应?

1 个答案:

答案 0 :(得分:1)

如果你从盒子上得到回复,而不是从其他盒子得到回复,那几乎肯定是防火墙问题。关闭IPTables或允许有问题的端口上的流量是一种选择,但更简单/更合适的选择是让您的应用程序使用端口80(对​​于HTTP)或443(对于HTTPS)。您可以通过直接在应用程序上侦听该端口,或者通过使用充当您的反向代理的Web服务器(例如NGINX或Apache)来实现此目的。