如何在AWS上配置Angular2

时间:2016-10-15 18:50:59

标签: amazon-web-services angular amazon-ec2 configuration

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

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

2 个答案:

答案 0 :(得分:1)

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

如果这样做没问题,您可能会遇到安全组问题。转到EC2页面上的安全组主题并选择服务器的安全组,并确保从您的IP地址打开端口(您可以谷歌"什么是我的IP"如果你不&# 39;不知道)。如果你不担心安全问题,你可以打开整个世界。

答案 1 :(得分:1)

首先,您的localhost和aws EC2实例之间存在一些差异。

  • 您的计算机是带浏览器的图形计算机,ec2 vm只是一个基于命令行的Linux服务器,并且没有安装浏览器。
  • npm start,就像" grunt someTask"在Linux服务器上没有任何意义的步骤中内置了额外的东西......即自动打开浏览器窗口并进行实时重新加载以进行活动开发等。
  • EC2 vm是一个你想要更像beta服务器或生产服务器的地方,这意味着你不用npm start启动和停止你的应用程序,而是想用node yourAppFile.js启动它,你只是运行它,看看它是否有效。你不能在这里发展。

此外,ec2 vm本身受到安全组的保护/保护,并且默认情况下允许从外部世界访问极少数端口,因此您必须编辑"入站规则"安全组并添加一个基本上允许的规则:"custom" --> "the node port" --> "your IP"。这样做可以使用vm-public-ip:port-of-node-app连接到它,在浏览器中看起来像这样:56.128.17.42:3000。而且因为您将自己的IP放在该规则中,所以没有其他IP地址能够在其浏览器中加载它......只有您自己。如果你要说" 0.0.0.0/0"在ip字段中,允许所有用户在任何地方连接。