Как настроить Angular2 на AWS

#amazon-web-services #angular #amazon-ec2 #configuration

#amazon-веб-сервисы #угловатый #amazon-ec2 #конфигурация

Вопрос:

Мне удалось успешно создать приложение Angular2 Quickstart на моем локальном компьютере, но я хотел бы перейти к его настройке на экземпляре AWS. Проблема в том, что я подключаюсь к экземпляру по ssh, и поэтому npm start команда не загружает приложение в мой локальный браузер. Даже предоставленные «Внешние» адреса не работают, даже если назначен эластичный IP-адрес и открыт соответствующий порт. Я также просмотрел node_modules/lite-server файлы, чтобы обновить любые необходимые изменения конфигурации, но я не нашел, как изменить его должным образом.

Кто-нибудь может указать мне на какие-нибудь ресурсы, которые помогут мне начать работу с angular2 на AWS?

Ответ №1:

Итак, во-первых, существуют некоторые различия между вашим локальным хостом и экземпляром aws EC2.

  • Ваш компьютер — это графический компьютер с браузером, виртуальная машина ec2 — это просто linux-сервер на основе командной строки, на котором не установлен браузер.
  • npm start , точно так же, как « grunt someTask » имеет дополнительные элементы, встроенные в шаги, которые не имели бы смысла на сервере Linux … т. Е. Автоматически Открывать окно браузера и выполнять перезагрузку в реальном времени для активной разработки и т. Д.
  • виртуальная машина EC2 — это место, где вы хотите использовать ее скорее как бета-сервер или рабочий сервер, что означает, что вы не запускаете и не останавливаете свое приложение с помощью npm start, вместо этого вы хотите запустить его node yourAppFile.js , и вы просто запускаете его, чтобы посмотреть, работает ли оно. Вы здесь не разрабатываете.

Кроме того, сама виртуальная машина ec2 защищена / защищена группой безопасности, и это позволяет по умолчанию получать доступ к очень небольшому количеству портов из внешнего мира, поэтому вам нужно отредактировать «входящие правила» группы безопасности и добавить правило, которое, по сути, позволяет: "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, это позволило бы подключаться всем пользователям в любом месте.

Ответ №2:

Я бы протестировал curl на вашем локальном компьютере, чтобы убедиться, что он запущен и работает. Вы можете сделать это с помощью «curl http://localhost:3000 / (измените 3000 на любой порт, на котором вы работаете).

Если это работает нормально, у вас может возникнуть проблема с группами безопасности. Перейдите в раздел группы безопасности на странице EC2 и выберите группу безопасности для своего сервера и убедитесь, что у вас открыт порт с вашего IP-адреса (вы можете погуглить «какой у меня ip», если вы его не знаете). Вы можете просто открыть его для всего мира, если не беспокоитесь о безопасности.

Комментарии:

1. Выполняю ли я curl инструкцию внутри shh или с моего локального машинного терминала? Что делает керлинг localhost ?

2. Curl — это библиотека командной строки для выполнения запросов по различным протоколам, включая http. Я бы начал с выполнения его на экземпляре ec2. Localhost — это псевдоним любого компьютера, на котором вы находитесь. Обычно он указывает на адрес обратной связи (127.0.0.1), а не на какую-либо конкретную сетевую интерфейсную карту. Если он работает на локальном хосте из экземпляра ec2, то вы знаете, что сервер запущен.