Сегодня решил написать небольшую статью об отличном проекте BOA, помогающем автоматизировать установку высокопроизводительного веб-сервера (Nginx + PHP-Fpm + APC + Redis/Memcached), подготовленный под размещение Drupal сайтов.
Моя компания предоставляет услуги Drupal хостинга, поэтому постоянно изучаем решения для автоматизации установки высокопроизводительных решений для Drupal проектов, вот таким образом и был найден проект BOA.
Описание проекта BOA
Много полезной информации можно найти в группе проекта BOA на drupal.org.
Название BOA — это аббревиатура от Barracuda Octopus Aegir, представляет из себя набор bash скриптов, написанных omega8.cc, предназначенных для установки на VPS:
Barracuda — это bash скрипт для установки и обновления Aegir Master, настроенного на высокую производительность, и всех связанных служб.
Octopus — это bash скрипт для установки и обновления Aegir Satellite, настроенного на высокую производительность, и всех связанных служб.
Aegir — это система управления хостингом, позволяющая разработчикам и администраторам автоматизировать типовые задачи, связанные с установкой больших сайтов и их управлением. Aegir значительно упрощает установку, обновление и архивацию Drupal сайтов.
Теперь более подробно остановимся на том, что нам предлагает проект BOA.
Порядок установки на Debian
- Запускаем скрипт Barracuda, который установит и настроит на сервере Nginx, PHP-FPM, APC, Redis, Aegir Master.
- Далее запускаем скрипт Octopus для каждого пользователя. Этот скрипт создаст пользователя, подготовит дерево каталог для размещения файлов конфигураций, установить Aegir Instance, установит различные сборки Drupal для быстрого развертывания сайтов.
После этого мы получаем шаред Drupal хостинг, оптимизированный на быструю работу сайтов, с достаточно удобной панелью Aegir для управления сайтами.
Aegir Master — устанавливается 1 раз на сервер, с помощью скрипта Barracuda. Эта установка позволяет управлять пользователями Aegir Instance. Aegir Instance — устанавливается для каждого пользователя сервера, который будет размещать Drupal сайты, c помощью скрипта Octopus. Непосредственно работа пользователя с сервером происходит именно в Aegir Instance.
Преимущества BOA
- Автоматическая настройка веб-сервера Nginx + PHP-FPM.
- Удобная панель Aegir для управления Drupal сайтами.
- Добавление виртуальных хостов в nginx, осуществляется из панели Aegir.
- По умолчанию сайты настроены на использование в качестве кэширующего бэкенда Redis (сравнений не проводил, но слышу часто, что люди вместо memcached используют Redis).
- Кэширование страниц для анонимов прямо на веб-сервере nginx.
- Конфигурационные файлы организованы таким образом, что без проблем можно изменить настройки nginx, settings.php.
- Быстрая установка сайтов с нужной платформой Drupal.
Недостатки BOA
Для меня основным недостатком этого решения явилось то, что для установки и настройки веб-сервера используются не стандартные пакеты debian. Все службы скачиваются и компилируются, что на мой взгляд не очень хорошо, так как такое решение сложнее поддерживать.
Заключение
На мой взгляд BOA отличный проект, позволяющий достаточно быстро развернуть веб-сервер для Drupal сайтов со всеми настройками под высокие нагрузки, при этом не обладая детальными техническими знаниями в настройке веб-сервера nginx. Существенно экономит время, чем "с нуля" разворачивать веб-сервер Nginx + PHP-FPM.
Но его недостаток, хотя он и единственный, существенно ограничивает возможности применения такого решения в продакшн неподготовленными пользователями.
Сейчас мой блог установлен на сервере с проектом BOA, кэширования nginx отключил, работает достаточно шустро. Желающие могут протестировать с помощью abmysite.com.