2016-10-15 22 views
1

我已經成功地在本地機器上構建了Angular2快速入門應用程序,但是我想跳過它來在AWS實例上進行設置。問題是我進入實例,所以npm start命令不會將應用程序加載到我的本地瀏覽器。即使提供了彈性IP並且相應的端口已打開,即使提供的「外部」地址也不起作用。我也瀏覽了node_modules/lite-server文件以更新任何必要的配置更改,但我還沒有找到如何正確更改它。如何在AWS上配置Angular2

任何人都可以指點一些資源,可以幫助我開始在AWS上使用wit2 angular2嗎?

回答

1

因此,首先,有您的本地主機和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地址能夠將其加載到瀏覽器中......只是您。如果你在ip字段中說「0.0.0.0/0」,它允許任何地方的所有用戶連接。

1

我會在你的本地機器上測試卷曲,以確保它已啓動並運行。你可以通過「curl http://localhost:3000/(將3000更改爲你正在運行的任何端口)來做到這一點。

如果這是行得通的,你可能會遇到安全組的問題。轉到EC2頁面上的安全組主題,然後選擇你的服務器的安全組,並確保你的IP地址已經打開了端口(如果你不知道,你可以谷歌「我的IP是什麼」),你可以在全世界打開它,再不用擔心安全性。

+0

我是否在shh或從本地機器終端執行'curl'語句?捲曲「localhost」是做什麼的? –

+0

Curl是一個命令行庫,用於請求不同的協議,包括http。我會先在ec2實例上執行它。本地主機是您所在計算機的別名。它通常指向環回地址(127.0.0.1),而不是任何特定的網絡接口卡。如果它在ec2實例的localhost上運行,那麼你知道服務器正在運行。 –