Как развернуть приложение Node.js Express server + Vue.js на AWS EC2 - PullRequest
0 голосов
/ 19 июня 2019

Я настраиваю свой веб-сайт, который будет работать на AWS Ubuntu EC2.Это Vue.js SPA, использующий приложение Nodejs Express с вызовами API и socket.io.Пока оба приложения работают, серверная часть находится на моем бесплатном уровне AWS EC2, за Elastic Load Balancer, интерфейс находится на моей машине, так как я работал над ней.Теперь я хотел бы также развернуть интерфейс на моем AWS EC2, но я не уверен, как это сделать правильно.Учебники, которые я нашел, используют nginx, но я не уверен, что мне нужен nginx, так как у меня уже есть AWS ELB.Любые советы будут великолепны:)

1 Ответ

0 голосов
/ 19 июня 2019

как сказано: « Если вы разрабатываете свое приложение внешнего интерфейса отдельно от своего бэкэнда - т. Е. Ваш бэкэнд предоставляет API для вашего внешнего интерфейса, с которым вы можете общаться, тогда ваш интерфейс по сути является чисто статическим приложением " здесь

Я бы выбрал s3 для размещения приложения vue, потому что оно статическое и может обслуживаться с использованием s3 и
Я выберу EC2 для размещения своего API (серверного кода), а также я сделаю эластичный IP для связи с моим сервером ec2, чтобы при перезапуске мне не приходилось обрабатывать динамические IP

Шаги, чтобы оживить ваш сайт

  1. Сначала извлеките экспресс-сервер узла yout на вашем экземпляре ec2
  2. Запустите ваш сервер экспресс-узлов, используйте pm2, чтобы он служил им
  3. открыть обслуживаемый порт из групп безопасности экземпляра ec2
  4. создать контейнер s3 для aws и загрузить на него файлы
  5. Подсказка: просто нажмите кнопку загрузки после сброса файлов на s3, не нажимайте далее
  6. после загрузки выберите все загруженные файлы и отметьте их как общедоступные
  7. после загрузки перейдите в свойства этого сегмента, затем выберите статический веб-хостинг и введите index.html запрашиваемое поле

** СОВЕТ: не используйте балансировщик нагрузки для этого приложения, только когда вы распределяете свою систему по нескольким EC2 **

...