无法获取在amazon ec2实例上工作的nodejs

我正在尝试在亚马逊微实例上运行nodejs服务器过去的3-4天,但没有成功。

我跟着这么多的教程,我不能使服务器的工作(所以当它在浏览器中访问或curl在PowerShell中,看到简单的Hello世界)。

这里是我试过的最后3个教程:

http://iconof.com/blog/how-to-install-setup-node-js-on-amazon-aws-ec2-complete-guide/ http://techprd.com/setup-node-js-web- server-on-amazon-ec2 / http://devblog.daniel.gs/2014/01/deploying-node-apps-on-aws-ec2-with.html

我试过Ubuntu /亚马逊Linux。

我也遵循http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html只是看看一般过程是如何工作的,而且工作正常。

我到了这样的地步: sudo node filename.js和服务器运行。

但是,当我尝试访问或curl它。 它不工作。 当我平了,它很好。

在亚马逊我设置安全组基本上允许一切如此:

在这里输入图像描述

在Linux自我我遵循: https : //help.ubuntu.com/community/IptablesHowTo?action=show&redirect=Iptables打开端口,我试图听,什么都没有。

当我键入: sudo service iptables status我得到:

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1337:1347

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpts:1338:1348

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000

请记住,我不是一个服务器精明的家伙。

任何帮助将不胜感激。

更新:要启动我的节点服务器,我使用nodejs.org中find的基本代码:

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

这正是我的文件的样子

您没有提供足够的信息,但我会尝试概述一般的故障排除技巧。

  • 您的节点程序是否在运行并提供服务请求 获取Ec2框,并curl -v localhost:8000 (或任何您的节点端口)。它应该吐出你的应用程序。 如果没有,你的node.js设置是不正确的。

  • 你的nginx在运行吗? 获取框并inputcurl -v localhost 。 这将看你的端口80.如果它没有代理到你的应用程序,这可能是一个nginx的configuration问题。

  • 你能通过IP地址到达这个盒子吗? 在桌面/笔记本电脑上,执行curl -v xxxx ,其中xxxx是您的EC2公共IP地址。 如果挂起,则存在防火墙问题。

  • 你能通过你的DNS到达盒子吗? (假设你试图让foo.com指向它)尝试curl -v http://foo.com/ 。 如果这不起作用,您的DNS可能不正确。

但是,当我尝试访问或curl它。 它不工作。

请更具体一点。