【发布时间】:2014-06-24 03:46:15
【问题描述】:
在 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.');
在“screen:1”上,我运行以下命令:
node index.js
它给了我控制台输出,说明“服务器在端口 3000 上运行。” 我切换到“screen:0”并运行以下命令:
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 响应?
【问题讨论】:
-
我确定您刚刚运行了防火墙。停止 iptables 并查看。此外,请确保您是通过真实的互联网连接进行测试。许多移动运营商对非 HTTP 端口上的流量做了一些不稳定的事情。
-
我做了:root@mic [~/Projects/NodeTutorial2]# /etc/init.d/iptables save iptables: 将防火墙规则保存到 /etc/sysconfig/iptables:[ OK ] root@mic [~/Projects/NodeTutorial2]# /etc/init.d/iptables stop iptables: 将链设置为策略 ACCEPT: nat mangle filte[OK] iptables: 刷新防火墙规则: [OK] iptables: 卸载模块: [OK] root@麦克风 [~/Projects/NodeTutorial2]#
-
布拉德成功了!请提交作为答案!
-
保罗已经做到了。你可以接受他的回答。而且,当您设置适当的规则时,不要忘记重新打开防火墙。
-
我保存了 iptables 并运行了 'iptables start'