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