如何在VM

时间:2017-02-07 00:38:07

标签: angularjs node.js amazon-web-services amazon-ec2

我开发了一个Angular 2应用程序,在我的本地机器上,当我说npm start时,它给了我一个字符串,如

  

http://127.0.0.1:8080

提供C:\ Users \ pepperboy \ myangularproject

它还启动了我可以直接点击的浏览器。

但是,当我在我的Amazon ec2虚拟机上运行它时,运行npm start并没有给我任何东西。我刚回到终端,光标在下一行。因此,我不知道如何访问我的应用程序。

我的亚马逊EC2的网址如下

http://ec2-35-167-53-209.us-west-2.compute.amazonaws.com

所以,我试图访问我的应用程序,

http://ec2-35-167-53-209.us-west-2.compute.amazonaws.com:8080

然而,它只是稍微圈了一下,然后回来说,

  

无法访问此网站

     

ec2-35-167-53-209.us-west-2.compute.amazonaws.com花了太长时间才到   响应。

我也尝试过, http://35.167.53.209:8080/具有相同的结果,(圈子并给出与上面相同的信息 - 无法访问此网站)

编辑:我已经从下拉列表中启用了Amazon ec2安全设置中的HTTP端口80,我最初设置为All traffic。我没有看到任何与8080匹配的内容。我仍然无法访问链接http://ec2-35-167-53-209.us-west-2.compute.amazonaws.com:8080。 PS:我没有重新启动vm

EDIT2:我已经包含端口8080,请参见下面的图片,仍然无法点击http://ec2-35-167-53-209.us-west-2.compute.amazonaws.com:8080 enter image description here

2 个答案:

答案 0 :(得分:0)

检查你的iptables EC2设置?如果启用了?你应该打开8080,你可以使用命令netstat -ntlp | grep 8080,检查您的节点服务

答案 1 :(得分:0)

也许您的服务器套接字绑定到环回IP地址127.0.0.1而不是"所有IP地址"符号IP 0.0.0.0(注意这不是网络掩码)。

如果是这种情况,您可以将bind ip发送到listen函数,您可以在其中放置端口。类似的东西:

听(8080," 0.0.0.0")