Я новичок в Amazon AWS и довольно плохо знаком с веб-хостингом в целом. Раньше я использовал Bluehost для веб-хостинга, но моя компания переходит на AWS. Мне интересно, каковы лучшие практики для загрузки файлов php, html и css. Мы постоянно добавляем и настраиваем страницы на нашем сайте, и мне нужно знать, как приспособить это к способу работы AWS.
Раньше мы просто использовали FTP-клиент для изменения файлов на нашем сервере. Теперь я использовал Elastic Beanstalk для настройки нашего стека и выяснил, как использовать программу FTP для загрузки файлов на том EC2 с помощью SFTP. Однако когда запускается новый экземпляр, он не содержит самых последних изменений.
Я знаю, что с помощью Elastic Beanstalk я мог бы загрузить новую версию, но на самом деле я не хочу архивировать, выгружать и развертывать новую версию всех моих файлов, даже если я сделал всего одно небольшое изменение.
Мы не размещаем статический веб-сайт. Мы довольно интенсивно используем базу данных MySQL для создания и изменения страниц.
Есть ли варианты получше? В идеале у меня было бы одно место для хранения моих файлов php и т. Д., И любые запущенные экземпляры получали бы файлы оттуда.
Любая помощь, руководство, учебные пособия приветствуются. Спасибо
Здесь вы можете делать несколько разных вещей.
Во-первых, вместо этого используйте другое хранилище, например S3, где вы храните все свои файлы и загружаете туда самые свежие файлы.
S3 больше похож на сетевое хранилище. Вы можете загрузить туда свои файлы, а затем получить к ним доступ из разных экземпляров.
Второй вариант заключается в том, что вы используете инструменты командной строки EC2, создаете новый AMI при каждом изменении файлов и используете новый AMI для запуска новых экземпляров. В этом случае у вас всегда будут самые свежие данные.
Итак, когда в ElasticBeanStalk запускается новый экземпляр, он использует AMI по умолчанию, но вы можете создать новый AMI и настроить его для использования. Таким образом, вы можете создавать сценарии, которые создадут новый AMI, как только вы закончите с изменениями, удалите старый и используйте этот AMI для запуска нового экземпляра.
Третий вариант, как сообщил ceejayoz, вы можете использовать экземпляры EC2 вместо ElasticBeanStalk и настроить их в соответствии с вашими потребностями.
Я обычно предпочитаю третий вариант, так как я хочу настраивать вещи самостоятельно и хочу контролировать всю систему, программное обеспечение и т. Д. Но это только я. Вы можете выбрать любой из вышеперечисленных вариантов.
Обычно рекомендуется использовать в инстансе исполняемые файлы, такие как PHP, - файлы статики лучше всего обслуживать в сети доставки контента для максимальной скорости и преимуществ глобального зеркала в этом случае для Amazon, ее Amazon Simple Storage Service (Amazon S3).
В сети CDN Amazons вы можете установить TTL для каждого создаваемого вами контейнера. TTL - это в основном причудливый кеш, который глобально кэширует контент для X минут перед проверкой, был ли файл обновлен или нет.
Для изображений это нерегулярно, вам нужно, чтобы у них было небольшое время истечения, чтобы вы могли установить TTL на 2 недели. В то время как ваш сайт я ежедневно вносю активные изменения в файл CSS, чтобы вы могли установить TTL на 5 минут в контейнере CSS.
CDN идеально подходят для всех файлов, которые не нуждаются в тренировках на стороне сервера - они отлично подходят для более быстрого обслуживания контента и фактически освобождают ресурсы на главном сервере за счет ограничения запросов.
Поскольку вы знакомы с FTP, настоятельно рекомендую вам взглянуть на:
Cyberduck http://www.bybe.net/downloads/try-cyberduck.jpg http://cyberduck.ch
Cyberduck просто великолепно управляет вашими файлами в облаке в различных сетях, таких как Amazon, Rackspace, Limelight и т. Д.
Кроме того, если вам нужно регулярно обновлять файлы PHP на вашем сервере, вам следует взглянуть на EC2, предложенный GeekRide. Но не забывайте использовать S3, так как лучше использовать его, чем не использовать.