1

В настоящее время я запускаю экземпляр EC2 за пределами эластичного бобового стежка, который включает в себя кучу файлов/папок PHP. Я хочу, чтобы это приложение находилось в Elastic Beanstalk, поэтому я создал новую среду Elastic Beanstalk, которая автоматически запустила новый экземпляр EC2.Развертывание эластичного разметки AWS

1) Нужно ли мне сохранять все мои файлы/папки PHP в zip-файле и загружать &?

2) Если я изменяю файл, мне нужно повторно zip и загрузить (например, нет FTP)? (Это займет много времени, так как у меня есть 500 МБ изображений).

3) Должен ли я использовать только эластичный бобовый стебель, когда мое приложение является окончательным, и продолжать использовать экземпляр EC2 вне его для упрощения FTP и изменений?

ответ

0

У вас есть несколько способов развернуть приложение php на Elastic Beanstalk. Вы можете использовать CLI AWS. (Для Java вы можете также использовать Eclipse, с AWS плагин, я не уверен, если он работает с PHP слишком, но стоит проверить.)

Это хороший источник для вас: Develop, Test, and Deploy - Beanstalk

Нет рук по опыту, но плагин .NET способен делать инкрементное развертывание, поэтому у вас есть хорошие шансы для этого с PHP. (Так что вы не будете загружать все свои изображения снова.)

Fro production, я действительно поддерживаю установку HA Beanstalk, я использовал ее для сред .NET и Java. Дает вам множество хороших функций, поэтому вам не нужно иметь дело со всеми операционными деталями.

+0

Отлично, спасибо! Я запускаю PhpStorm на JetBrains, поэтому я считаю, что это плагин, который я ищу: https://plugins.jetbrains.com/plugin/7274?pr= – bloxx

3

1) Нужно ли мне сохранять все мои файлы/папки PHP в zip-файле и загружать &?

Да. Но это можно отвлечь. Я рекомендую использовать EB CLI. CLI выполнит zipping, uploading и update для вас, просто набрав eb deploy.

2) Если я изменяю файл, мне нужно повторно заархивировать и загрузить (например, нет FTP)? (Это займет много времени, так как у меня есть 500 МБ изображений).

В настоящее время эластичный бобовый стебель поддерживает только полные молнии. Таким образом, вы должны будете загружать все это каждый раз. EB CLI загрузит ваш zip несколькими потоками, и он не должен длиться долго, если у вас нет медленного сетевого соединения. Как я уже сказал, я настоятельно рекомендую вам поместить все ваши изображения и активы в s3 и cloudfront, а затем использовать Ajax для загрузки их в ваше приложение. Это сделает для вас две вещи.

  1. Ваша прикладная версия (.zip-файл) будет достаточно малой, поэтому развертывание будет быстрым и безболезненным.
  2. Загрузка изображений для конечного пользователя Значительная сумма баллов.

Кроме того, стоит отметить, что максимальный разрешенный размер версии приложения составляет 512 М, поэтому, если вы добавите какие-либо изображения, вы скоро не сможете их развернуть.

3) Должен ли я использовать Эластичный бобовый шток, когда мое приложение является окончательным, и продолжать использовать экземпляр EC2 вне его для упрощения FTP и изменений?

Ваше решение. Но вы должны знать, что beanstalk обладает множеством функций, созданных вокруг разработки и продвигающихся к prod. Типичный эластичный поток бобовых стеблей будет заключаться в локальном развитии. Затем, как только функция будет выполнена, разверните ее в среду разработки. Протестируйте его, убедитесь, что он работает, а затем регистрация. Как только ваше приложение находится в состоянии prod, вы можете сделать смену cname с вашей продуктовой средой (eb swap) для развертывания с нулевым временем простоя.

+0

Удивительный! спасибо за подробное объяснение. Для 2) я переместил все мои папки с изображениями на S3. Для пользовательских загрузок они загружаются непосредственно на S3, используя: https://docs.aws.amazon.com/aws-sdk-php/guide/latest/service-s3.html ИЛИ вы используете типичный сценарий загрузки файлов PHP и перенос до S3? – bloxx

+0

@bloxx Я не уверен, что вполне понимаю ваш вопрос. –

+0

Хорошо, я понял. Загрузите напрямую '$ result = $ client-> putObject (array ( 'Bucket' => $ bucket, 'Key' => 'data.txt', 'Body' => 'Hello!' )); 'Спасибо! – bloxx