Веб-хостинг на Amazon AWS (PHP + MySQL)
Я полностью смущен тем, как разместить динамический веб-сайт, созданный с использованием PHP и MySQL в Amazon Cloud.
Я прошел через Amazon S3, и я разместил там статический веб-сайт!
Затем я попробовал Amazon EC2, и я узнал некоторые аспекты концепции VPC. Я думал, что динамические веб-сайты размещаются в Amazon Cloud с помощью EC2. Я сделал несколько шагов, и они научили меня запускать сайт с помощью Drupal (но я этого не хотел!)
Никаких других учебных пособий по EC2 для развертывания моего веб-приложения не найдено.
Затем я нашел AWS Elastic Beanstalk, я загрузил простой PHP-документ, и я вижу, что оно было успешно развернуто.
Но все же я не удовлетворен. Потому что, я не знаю, какой правильный способ развернуть мое приложение PHP.
Так может ли кто-нибудь направить меня на развертывание PHP MySQL-приложения в AWS?
Ответы
Ответ 1
В зависимости от ваших потребностей. Эластичный Beanstalk может быть хорошим вариантом для многих приложений, но я выбрал EC2 для моего бэкэда приложения (используя PHP, MySQL и S3 для хранения).
Быстрые шаги для запуска и запуска:
-
Войдите в AWS Mangement Console и запустите новый экземпляр EC (сервер Windows 2012 R2 Base > t2.micro должно быть достаточно хорошим для начала!)
-
На шаге "6. Настройте группу безопасности, добавьте правила не менее HTTP, HTTPS и RDP (чтобы вы могли подключаться через удаленный рабочий стол)
-
Подключитесь к своему новому экземпляру через Удаленный рабочий стол и установите достойный браузер (Включите загрузку файлов в настройках безопасности IE и загрузите Chrome или Firefox)
-
Откройте Брандмауэр Windows и добавьте правила для тех же портов, которые вы открыли в группе безопасности вашего экземпляра в консоли управления AWS. (Щелкните правой кнопкой мыши на "Правилах входящих сообщений", затем выберите "Новое правило..." )
-
Загрузите и установите XAMPP (я положил его в C:\xampp)
-
Откройте панель XAMPP Control и установите Apache и MySQL как службы (чтобы они запускались автоматически при запуске вашего экземпляра); убедитесь, что все запущено.
-
Теперь поместите свои файлы в C:\xampp\htdocs\и вы готовы к работе!
Бонусные шаги:
-
Настройте FTP-сервер Filezilla (и откройте необходимые порты как в группе безопасности экземпляра, так и в брандмауэре Windows), чтобы вы могли загружать/скачивать файлы без необходимости использования удаленного рабочего стола.
-
Получите Elastic IP и назначьте его вашему экземпляру, поэтому его IP-адрес никогда не изменится.
-
Получите сертификат SSL, чтобы использовать HTTPS
Ответ 2
Ответ зависит от ожидаемой загрузки и ресурсов, которые вы должны обрабатывать во всех задачах администрирования.
Если вы ожидаете тяжелые или переменные нагрузки, существует множество причин, по которым не нужно развертывать производственное приложение PHP + MySQL на EC2.
Вот некоторые из преимуществ развертывания на Elastic Beanstalk вместо ручной настройки EC2:
-
Вы получаете контроль версий для каждого развертывания.
-
Вы можете масштабировать вверх или вниз автоматически, если вам нужно больше/меньше экземпляров для обработки новой нагрузки.
-
Вы получаете балансировку нагрузки перед экземплярами EC2 с набором готовых "рекомендуемых" конфигураций.
Что касается MySQL, если вы отправляетесь на экземпляр Amazon RDS, вы можете справиться с репликацией, мониторингом и автоматическим резервным копированием с довольно низким усилием. Множество конфигураций, которые вам нужно настроить, теперь доступны через группы параметров.
С другой стороны, если вы хотите иметь полный контроль над всем, что происходит на вашем сервере (это означает, что у вас есть время для мониторинга, резервного копирования и выполнения задач обслуживания, что не мое дело:), или если вы не планируете иметь большой трафик, или если вам нужен менее дорогой вариант, вы должны пойти с невысокой стоимостью экземпляра EC2.
По моему опыту (после двух лет работы над AWS с 10 производственными приложениями, я являюсь обычным пользователем AWS) в значительной степени каждая настройка или изменение, которые мне нужны как для RDS, так и для EBS, я смог настроить ее и заставить его работать, поэтому я довольно доволен выбором опции EBS + RDS.
Ответ 3
Ниже приведены две ссылки, которые были полезны для создания и обновления приложения с помощью эластичного бобового стека AWS.
https://aws.amazon.com/getting-started/tutorials/launch-an-app/
https://aws.amazon.com/getting-started/tutorials/update-an-app/