不能让nodejs在亚马逊ec2实例上工作

Net*_*eta 5 curl amazon-s3 amazon-ec2 amazon-web-services node.js

我试图在亚马逊微实例上运行nodejs服务器过去3-4天没有成功.

我遵循了这么多的教程,我无法使服务器工作(因此当它在浏览器中访问或在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/amazon linux.

我还关注了http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html,看看一般过程是如何工作的,它确实运行良好.

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

但是,当我尝试访问或卷曲它.它不起作用.当我ping它它很好.

在亚马逊我设置安全组基本上允许这样的一切:

在此输入图像描述

在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中的基本代码:

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/');
Run Code Online (Sandbox Code Playgroud)

这正是我的文件的样子

Bra*_*ncy 5

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

  • 您的节点程序正在运行并服务请求吗?登上 Ec2 盒子并执行操作curl -v localhost:8000(或者无论您的节点端口是什么)。它应该会输出您的应用程序。如果没有,则说明您的 Node.js 设置不正确。

  • 你的 nginx 运行了吗?进入盒子并输入curl -v localhost。这将查看您的端口 80。如果它没有代理到您的应用程序,则可能是 nginx 配置问题。

  • 您可以通过 IP 地址访问该盒子吗?在您的台式机/笔记本电脑上,执行您的 EC2 公共 IP 地址在curl -v x.x.x.x哪里。x.x.x.x如果挂起,则存在防火墙问题。

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

然而,当我尝试访问或卷曲它时。它不起作用。

请说得更具体一些。