Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 如何在AWS上配置Angular2_Amazon Web Services_Angular_Amazon Ec2_Configuration - Fatal编程技术网

Amazon web services 如何在AWS上配置Angular2

Amazon web services 如何在AWS上配置Angular2,amazon-web-services,angular,amazon-ec2,configuration,Amazon Web Services,Angular,Amazon Ec2,Configuration,我已经成功地在本地机器上构建了Angular2 Quickstart应用程序,但我想在AWS实例上进行设置。问题是我使用ssh将应用程序加载到实例中,因此npm start命令不会将应用程序加载到本地浏览器中。即使分配了弹性IP并打开了相应的端口,提供的“外部”地址也不起作用。我还查看了node\u modules/lite server文件,以更新任何必要的配置更改,但我没有找到如何正确地更改它 有人能给我指出一些可以帮助我在AWS上开始使用angular2的资源吗?我会在您的本地机器上使用c

我已经成功地在本地机器上构建了Angular2 Quickstart应用程序,但我想在AWS实例上进行设置。问题是我使用ssh将应用程序加载到实例中,因此
npm start
命令不会将应用程序加载到本地浏览器中。即使分配了弹性IP并打开了相应的端口,提供的“外部”地址也不起作用。我还查看了
node\u modules/lite server
文件,以更新任何必要的配置更改,但我没有找到如何正确地更改它


有人能给我指出一些可以帮助我在AWS上开始使用angular2的资源吗?

我会在您的本地机器上使用curl进行测试,以确保它已启动并运行。您可以使用“curl”(将3000更改为您正在运行的任何端口)


如果工作正常,您可能会遇到安全组问题。请转到EC2页面上的安全组主题,为您的服务器选择安全组,并确保已从您的IP地址打开端口(如果您不知道,可以通过谷歌搜索“what is my IP”)。如果您不担心安全性,您可以在全世界打开它。

因此,首先,您的本地主机和aws EC2实例之间存在一些差异

  • 您的计算机是带有浏览器的图形计算机,ec2 vm只是一个基于命令行的linux服务器,没有安装浏览器
  • npm start
    ,就像“
    grunt someTask
    ”在linux服务器上没有意义的步骤中内置了额外的内容…例如,自动打开浏览器窗口并进行活动开发的实时重新加载,等等
  • EC2虚拟机是一个您希望将其视为beta服务器或生产服务器的地方,这意味着您不需要使用npm start启动和停止您的应用程序,而是希望使用
    节点yourAppFile.js启动应用程序,您只是运行它以查看它是否有效。您不需要在这里开发

另外,ec2虚拟机本身由一个安全组保护,默认情况下允许从外部访问的端口很少,因此您必须编辑安全组的“入站规则”,并添加一个基本允许的规则:
“custom”->“node port”->“您的IP”“
。这样做可以使用
vm public ip:port of node app
连接到它,在浏览器中类似这样:
56.128.17.42:3000
。因为你把你自己的IP放在这个规则里,没有其他IP地址可以在他们的浏览器中加载它。。。只有你。如果您在ip字段中说“0.0.0.0/0”,则允许任何位置的所有用户进行连接。

我是在shh内部还是从本地机器终端执行
curl
语句?Curl是一个命令行库,用于发出不同协议(包括http)的请求。我首先在ec2实例上执行它。Localhost是您所在计算机的别名。它通常指向环回地址(127.0.0.1),而不是任何特定的网络接口卡。如果它在ec2实例的本地主机上工作,那么您就知道服务器正在运行。