Данный пост посвящен анонсу выходящего в ближайшее время веб окружению BitrixEnv 3.0 (Linux) и построенной на его базе виртуальной машине BitrixVM 3.0. А также краткому обзору основных изменений.
Что нового:
операционная система CentOS 6.0 i386
файловая система ext4
обновлённая версия nginx 1.0.6, изменения в конфигурации
обновленная версия msmtp 1.4.24, изменения в мастере настройки
замена xpdf на poppler
внесены исправления в конфигурацию mysql
в виртуальной машине расширен набор предустановленных пакетов (mc, strace, man, и.т.д.)
добавлена возможность создания дополнительных сайтов, как на отдельном ядре, так и в рамках многосайтовости
добавлены мастера: создания master ноды кластера, добавления slave ноды в кластер, смены роли slave ноды на master
Подготовка виртуальной машины для включения в кластер:
меняем стандартный пароль пользователя root
меняем стандартный пароль пользователя bitrix
если виртуальная машина будет добавляться в кластер в качестве slave ноды, необходимо удалить базу данных с тем же именем, что рабочая база данных на master ноде.
Создание master ноды После подготовки первым шагом в создание кластера, является создание master ноды. На данной ноде будет находится master база mysql, а также данная нода будет осуществлять настройку кластера и всех входящих в него узлов.
выполняем подготовку виртуальной машины
устанавливаем на виртуальную машину "1С-Битрикс: Управление сайтом" или "1С-Битрикс: Корпоративный портал" с модулем "Веб-кластер"
переводим все таблицы базы данных в InnoDB, если они используют другой механизм
из административного меню, запускаем мастер создания master ноды "9. Create master node"
Вам потребуется указать:
доменное имя ноды кластера
пароль пользователя root базы данных
выбрать базу данных которая будет участвовать в репликации
После подтверждения запускается процесс создания мастер ноды кластера. Который произведет настройку всех необходимых сервисов, а также добавит все необходимые записи в модуль "Веб-кластера".
Для полноценной работы кластера, после создания мастера в кластер необходимо добавить хотя бы одну slave ноду.
Добавление slave ноды
выполняем подготовку виртуальной машины для slave ноды
подключаемся к консоли master ноды и выбираем в меню пункт "10. Add slave node"
Вам потребуется указать:
доменное имя для slave ноды кластера
ip адрес slave ноды
пароль root от slave ноды
пароль root от mysql на slave ноде
пароль root от mysql на master ноде
После подтверждения запуститься процесс который произведет настройку кластера, перенесет на новую ноду файлы сайта, базу данных и добавит сервисы ноды в модуль "Веб-кластер"
После добавления slave ноды мы получаем полноценный кластер. При росте нагрузки на проект вы можете добавить дополнительную slave ноду в кластер аналогичным образом. Тем самым обеспечить стабильность работы проекта при любом росте нагрузки.
В случае падения slave нод проект будет по прежнему стабильно работать. Если же упадет master нода, для восстановления работоспособности кластера необходимо сменить роль одной из slave ноды на master. Для этого достаточно запустить мастер "11. Make slave node a master node" и указать пароли к mysql root для всех оставшихся в кластере нод и после его работы скорректировать список нод в модуле "Веб-кластер"
Добавление дополнительного сайта
Мастер создания дополнительных сайтов, позволяет развернуть на одной виртуальной машине несколько сайтов, как на независимых установках «1С-Битрикс», так и в рамках многосайтовости.
Для добавления дополнительного сайта необходимо предварительно настроить DNS сервер или указать доменное имя в /etc/hosts на виртуальной машине, а также всех машинах, с которых будет осуществляться доступ к данному сайту.
После этого, из административного меню, запускаем мастер "12. Add aditional site"
и указываем:
доменное имя дополнительного сайта
имя папки в которой будут хранится файлы дополнительного сайта (папка будет создана в /home/bitrix/ext_www)
выбираем кодировку создаваемого сайта
в случае создания дополнительного сайта в рамках отдельной установки, на предложение создать символические ссылки на уже установленное ядро отвечаем N. Если же требуется создать дополнительный сайт в рамках многосайтовости, то отвечаем Y на данный вопрос и указываем полный путь к ранее установленному Битриксу
для сайта в рамках отдельной установки необходимо создать базу данных. В этом случае вам потребуется указать имя новой базы данных, логин и пароль пользователя mysql, обладающего необходимыми правами.
Новый сайт доступен для использования!
Количество дополнительных сайтов не ограничивается. Единственным ограничением является то, что данный мастер не рассчитан на работу с машинами входящими в кластер.
Спасибо, с этим понятно. Думал логично, что если есть возможность создать, должна быть и удалить. А куда можно писать про ошибки? Я указал пароль для MySQL root и создал отдельного пользователя bitrix (с паролем bitrix). Создал дополнительный домен, указав параметры для пользоватлея bitrix (база данных создалась), но в dbconn.php нового домена:
а можно вынести базу в RDS, удалить mysql на нодах, вынести все файлы, кроме ядра, на s3? тогда не нужно будет синхронизировать файлы, только ядро, чтобы держать его в актуальном состоянии. ведь по сути RDS уже реплицируется в другие зоны.. тогда, по сути, запустив к примеру, 4 инстанции, одну мастер и 3 слейва, я получаю мастер в роли балансера, так? и он равномерно будет распределять нагрузку на слейвы? а при обновлении мне нужно будет обновить ядро только на мастере? а ошибок на слейвах не будет? насколько повышает производительность отдельный memcached сервер?
1. Работа с RDS на данный момент не тестировалась и не гарантируется 2. В облачные хранилища можно перенести статические файлы сайта, тем самым снизить объем синхронизируемых файлов.
3. использование memcache сервера не повышает производительность, но позволяет иметь общий кеш для всех нод. Лучше вариантом будет использования стандартного подхода с несколькими memcache серверами, когда на каждой ноде есть свой memcache сервер, объединенными модулем "Веб кластер" в объщий пул.
Доброго дня, Николай. Имею два сайта на БУС (многосайтовая конфигурация), собираюсь переносить их на BitrixEnv.
Пакет BitrixEnv поставил - все работает. Попробовал развернуть туда бекап первого сайта при помощи мастера - он встал в корень /home/bitrix/www Но было бы логично, имея несколько сайтов, установить каждый в свой каталог типа /home/bitrix/www/site_1 и т.д. Собственно вопрос: как мне корректно перенести оба своих сайта на BitrixEnv? Пока идея только одна - создать руками каталог /home/bitrix/www/site_1, залить туда скрипт, который разворачивает бекап. Второй сайт добавить согласно описанию выше в каталог /home/bitrix/www/site_2. Правильно? или есть более прямой путь для моей задачи?
Николай, а как происходит штатное обновление BitrixEnv? Пока тестирую работу свого проекта с BitrixEnv. Вчера некорректно перевелось время, поэтому решил обновить пакеты:
- обновил базу пакетов центОС yum update - обновил сами пакеты установленного ПО yum upgrade в итоге слетели все файлы сайта, и по адресу сайта теперь отвечает мастер, который предлагает установить БУС заново или восстановить проект из бекапа. Сайт тестовый, поэтому катастрофы не произошло, но не хотелось бы, чтобы это произошло с рабочим сайтом. Соственно вопрос: как правильно обновлять всё это хозяйство?
В BitrixEnv 3.0 и BitrixVM 3.0 из-за пустого пароля к БД продукт не проходит контроль качества в отношении пункта QSEC0050 — Настроены политики безопасности по работе с БД. Предлагаю на момент установки генерировать случайный пароль (который будет проходить тест).
В данном случае это не совсем проблема именно BitrixEnv или BitrixVM, так как установленный один на всех пароль не безопаснее. Пароль на базу должен устанавливаться при разработке/интеграции проекта и контроль качества как раз напоминает об этом.
внесите туда второй виртуальный хост (например, в папку www2), перезапустите веб-сервер service httpd restart и дальше - по инструкции для многосайтовости
После обновления с bitrix-env 2.0 на 3.0 пересталда отправляться почта. В чем может быть проблема? Настройки почты перевбивал раз 10. Ставил как и раньше, на чистый сентос.
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».