繁体   English   中英

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

[英]cannot get nodejs working on amazon ec2 instance

我试图在亚马逊微实例上运行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/');

这正是我的文件的样子

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

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

  • 你的nginx在运行吗? 单击框并键入curl -v localhost 这将在您的端口80上查看。如果它不代理您的应用程序,则可能是nginx配置问题。

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

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

但是,当我尝试访问或卷曲它。 它不起作用。

请更具体一点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM