(Оригинал задан в SuperUser, но теперь "приостановлен" - view )
Я бы очень хотел иметь возможность использовать Elastic Beanstalk для размещения приложения Joomla. Однако есть пара проблем:
Я знаю, что с помощью множества хаков / настроек я мог бы настроить локальную среду Joomla, затем использовать ее для администрирования сайта и вносить изменения в приложение EB с помощью Git.
] Однако я склоняюсь к идее выполнения единого развертывания в Elastic Beanstalk и настройки среды для обслуживания содержимого из эластичной файловой системы. Затем он может быть передан любому из экземпляров в группе автомасштабирования, созданной Elastic Beanstalk.
Я знаю, что создание и подключение EFS к экземплярам внутри EB может быть выполнено с помощью файлов конфигурации, найденных здесь ], однако, хотя EFS действительно смонтирован, приложение все равно обслуживается с локального диска.
Кроме того, официальные инструкции AWS по развертыванию сайта Wordpress с использованием EFS приведены здесь . После проверки файлов конфигурации в папке .ebextensions я вижу, что файл конфигурации, который монтирует EFS, создает символическую ссылку между каталогом монтирования и wp-content / uploads. Это может сработать для установки Wordpress, но то, что я хотел бы сделать с Joomla, - это обслуживать все приложение из EFS.
Похоже, мне либо нужен способ создания символической связи между корнем приложения и каталог монтирования или просто изменить корневой каталог приложения на сам каталог монтирования. Проблема в том, что я не могу понять, как сделать ни то, ни другое.
Любая помощь будет очень признательна. Для каждого из этих сайтов у нас также есть соответствующие промежуточные сайты - обычно на другом сервере того же хост-провайдера. Я начал использовать Digital Ocean ...
Мы размещаем множество сайтов на сторонних хостах. Для каждого из этих сайтов у нас также есть соответствующие промежуточные сайты - обычно на другом сервере того же хост-провайдера. Я начал использовать Digital Ocean для создания сайтов просто потому, что они быстрее настраиваются и, что наиболее важно, мы получаем root-доступ. Иногда, когда мы продвигаемся от постановки к работе, это нарушает определенные аспекты, потому что серверные среды не совпадают - например, работают разные версии Php. Есть ли команда, которую я мог бы запустить на размещенных серверах, чтобы получить полный список системных переменных, пакетов и конфигурации? Тогда я смогу «построить» точную копию на Digital Ocean.
В bash нет универсальной команды для получения информации о пакете, поскольку CentOS и Ubuntu используют два совершенно разных менеджера пакетов, и тогда BSD - совершенно другой зверь. Теперь вы можете взглянуть на формы дистрибутивов и тому подобное и найти команды, которые сообщат вам обо всем, что установлено, но когда многие из них являются вспомогательными пакетами, которые будут / будут установлены с другими пакетами программного обеспечения. Если вы знаете, что можете возиться с сервером и в конечном итоге заставить его «работать», это поможет. Итак, вот что я бы сделал
Сначала вы захотите выбрать и изучить инструмент управления конфигурацией. Я использую Ansible, так как я системный администратор и люблю Linux даже на своем рабочем столе. Ansible основан на Python и зависит от ssh, поэтому он вписывается в мой рабочий процесс разработки и DevOps. Индивидуальный разработчик в моей компании и я управляю собственной инфраструктурой. Некоторыми другими инструментами могут быть Chef, Puppet, Salt и Fabric, но это не обширный список, просто те, которые я могу придумать в своей голове.
В следующий раз потратьте время на создание воспроизводимого (sp? ) система. большинство инструментов управления конфигурацией могут быть связаны с множеством сервисов и других модулей, что может оказаться полезным при работе с несколькими хостами и поставщиками. Построение этой системы стандартизирует весь ваш стек независимо от того, где он размещен, и это устранит разницу между постановкой и производством. т.е. не более того, «какая версия PHP установлена» или «заблокирован ли этот ящик».
Многие из этих инструментов управления конфигурацией могут интегрировать в инструменты чата вашей компании. Это означает, что вы можете выполнить развертывание из чата, не касаясь каких-либо командных строк. эта идея называется «ChatOps» и может заинтересовать вас в будущем.
Прибыль ???
TL; нет ответа
Вы можете использовать некоторые инструменты подготовки, такие как Ansible, CFEngine3, puppet и т. Д., Для создания «сценариев» того, как должны выглядеть серверы, а затем использовать его для настройки производства и сцены. Тот же сценарий приведет к тому же серверу (если вы напишете его правильно), плюс у вас есть план аварийного восстановления, чтобы исправить ваши серверы, когда что-то случится.