...

среда, 2 апреля 2014 г.

TYPO3 CMS кластер в облаке Jelastic

TYPO3 — отличное решение для веб-сайтов любых размеров, от небольших до корпоративных. Эта CMS позволяет с легкостью создавать и управлять многоязычными корпоративными сайтами для больших организаций. Такие веб-сайты могут масштабироваться и адаптироваться к любым возникающим потребностям.

Jelastic дает возможность сделать ваш сайт на TYPO3 не только очень гибким и доступным, но также стабильным и высокопроизводительным. Для достижения такого результата необходимо настроить высокодоступный кластера с двумя серверами приложений Apache, балансером NGINX, нодой Memcached и двумя реплицированными базами данных MySQL.


typo cluster



Сервер Memcached используется для хранения сессий Apache серверов. Благодаря резервному копированию сессий, если один из Apache серверов откажет, то второй “подберет” сессии с ноды Memcached и продолжит их обрабатывать. Балансер NGINX распределяет трафик внутри кластера. Кроме того, репликация главной и подчиненной MySQL баз улучшает производительность, повышает надежность доступности данных и отказоустойчивость вашего окружения.


Теперь давайте приступим к пошаговой настройке высокодоступного кластеризированного TYPO3 приложения.


A. Разворачивание TYPO3 приложения




Прежде всего, нужно создать необходимое окружение Jelastic и развернуть TYPO3 приложение.

1. Зарегистрируйтесь (если вы не сделали этого раньше) или войдите в ваш аккаунт Jelastiс.


2. Нажмите Создать окружение.


3. Выберите сервер приложений Apache, базу данных MySQL и ноду Memcached. Установите лимиты клаудлетов и введите имя окружения (например, typo-cluster). Нажмите Создать.


создать окружение


4. Подождите, пока окружение будет создано.


окружение


5. Пройдите на официальный веб-сайт TYPO3 и скачайте zip архив с последней версией приложения.


typo site


6. Используя Диспетчер дистрибутивов загрузите архив в панель управления.


загрузить архив


7. Затем разверните его в только что созданное окружение.


развернуть приложение



Чтобы установить и запустить Ваше TYPO3 приложение, нужно отключить расширение zend_extension.

Перейдите к etc > php.ini файлу и закомментируйте следующую строку:



#zend_extension=/usr/lib64/php/modules/opcache.so



отключить расширение

B. Настройка кластеризации PHP сессий




Высокая доступность PHP приложения может достигаться путем применения кластеризации PHP сессий в облаке. Для поддержания работоспособности в случае отказа сервера приложений (в последующих шагах инструкции мы добавим еще один сервер) мы будем использовать Memcached.

1. Нажмите кнопку Конфигурация для сервера Apache. В менеджере конфигураций откройте файл etc > php.ini и включите Memcached модуль, добавив следующую строку:



extension=memcached.so



memcached

2. Для активации поддержки работы с сессиями, добавьте следующие строки в блок Session конфигурационного файла php.ini:



session.save_handler = memcached
session.save_path = "<server>:11211"




memcached session

Вместо <server> нужно прописать IP адрес Memcached сервера. Чтобы узнать его, нажмите кнопку Информация для Memcached ноды в окружении.





IP адрес

Memcached


3. Сохраните изменения и Перезапустите сервер Apache.


перезапустить сервер


С. Настройка баз данных




Следующий шаг — настройка репликации MySQL баз (главной и подчиненной) для защиты приложения от простоя или потери данных.

MySQL в окружении с развернутым TYPO3 будет использоваться как главная база. Для подчиненной базы нужно создать отдельное окружение.


Пройдите к панель управления Jelastic и создайте новое окружение с MySQL нодой, которая будет использоваться в качестве подчиненной базы. Назовите Ваше окружения (например, slave-db) и нажмите Создать.


подчиненная база


А теперь давайте настроим каждую базу по отдельности:


Главная база данных




Как уже было упомянуто выше, мы используем MySQL в окружении с развернутым приложеним (т.е. typo-cluster) как нашу главную базу данных.

1. Нажмите кнопку Конфигурация для главной базы данных.


конфигурация главной базы


2. Перейдите к файлу my.cnf в папке etc и задайте следующие параметры, как показано на изображении ниже (нужно раскомментировать всего две строки):



server-id = 1
log-bin = mysql-bin
binlog-format=mixed




my.cnf

Мы используем binlog-format=mixed, чтобы разрешить репликацию операций с внешними ключами.



Не используйте binlog_format =statement, иначе впоследствии будут возникать ошибки!





3. Сохраните изменения и Перезапустите MySQL для применения новых параметров конфигурации.

перезапустить MySQL


4. Нажмите кнопку Открыть в браузере возле главной MySQL базы. Войдите в панель администрирования MySQL, используя учетные данные, которые вы получили по электронной почте после создания окружения.


Открыть в браузере MySQL


5. Пройдите к вкладке Репликация и нажмите Добавить подчиненного пользователя репликации.


Добавить подчиненного пользователя репликации


6. Введите имя и пароль для подчиненного пользователя репликации и нажмите ОК.


имя и пароль для подчиненного пользователя


Ваш подчиненный пользователь успешно создан.


подчиненный пользователь создан


Подчиненная база данных




Теперь давайте установим соединение между главной и подчиненной MySQL базами.

1. Нажмите кнопку Конфигурация для подчиненной базы данных.


конфигурация подчиненной базы


2. Откройте файл etc > my.cnf и добавьте следующие строки:



server-id = 2
slave-skip-errors = all




my.cnf подчиненной MySQL

Мы разрешаем нашей подчиненной базе пропускать все ошибки главной (slave-skip-errors = all), чтобы не прерывать нормальную работу в случае их возникновения.


Подобное не рекоммендуется на этапе разработки, чтобы иметь возможность находить баги и т.д. Однако в этой иструкции мы ориентируемся на этап продакшн, когда ваш код уже был протестирован. Любая ошибка на стороне главной базы, даже незначительная, может остановить подчиненную или привести к рассинхронизации.


3. Сохраните изменения и Перезапустите сервер подчиненной базы данных, чтобы применить новые параметры конфигураций.


перезапустить сервер подчиненной базы


4. Войдите в phpMyAdmin, используя данные учетной записи, которые Jelastic выслал Вам при создании окружения для подчиненной базы данных.


5. Перейдите к вкладке Репликация и нажмите настройка в разделе Репликация подчиненного сервера.


Репликация подчиненного сервера


6. Настройте главный сервер (введите имя, пароль, и хост подчиненного пользователя репликации).


имя, пароль, и хост подчиненного пользователя


Теперь главный сервер настроен.


главный сервер настроен


7. Нажмите на Control slave > Full start для подчиненного сервера, чтобы запустить Slave SQL и Slave IO потоки.


Slave SQL и Slave IO потоки


8. Проверьте таблицу состояния подчиненного сервера, чтобы убедиться, что все в порядке.


таблица состояния подчиненного сервера


Как результат, репликация настроена и все данные синхронизируются между главной и подчиненной базами данных.


D. Установка TYPO3




Теперь мы можем завершить установку TYPO3.

1. Пройдите к панели управления Jelastic и нажмите кнопку Открыть в браузере для окружения с TYPO3. Начнется установка. Нажмите Continue.


Открыть в браузере TYPO3


2. В окне Connect to your database host:



  • выберите MySQL/MySQLi драйвер

  • заполните поля Username и Password учетными данным вашей главной базы данных (полученные по электронной почте при создании окружения)

  • в поле Host введите адрес сервера базы




Нажмите Continue.

Connect to your database host


3. На этапе Select database создайте новую базу: введите имя для базы данных TYPO3 (например, typo_db) и нажмите Continue.



Благодаря репликации баз данных, которую мы настроили ранее, созданная база автоматически появится на обоих MySQL серверах, главном и подчиненном.





Select database

4. В следующем окне выберите Introduction package. Нажмите Continue.


Introduction package


5. Начнется установка. Подождите несколько минут для её завершения.


установка Introduction package


6. Наконец, введите пароль для доступа к админ панели TYPO3 и выберите цвет главной страницы TYPO3.


image


Поздравляем! TYPO3 установлен.


TYPO3 установлен


E. Настройка кластера




После того, как установка TYPO3 была успешно звершена, мы можем приступить к настройке высокодоступного кластера.

1. Откройте панель управления Jelastic и нажмите кнопку Изменить топологию окружения для окружения с TYPO3 приложением.


Изменить топологию окружения


2. Добавьте еще один сервер приложений Apache, нажав кнопку + (выделена на изображении ниже). NGINX-балансер будет добавлен автоматически. Нажмите Применить.


еще один сервер приложений Apache




Открыть в браузере кластер

Ваше высоконадежное и масштабируемое кластеризированное решение с установленным TYPO3 готово к использованию. Нажмите Открыть в браузере и приступайте к работе.


TYPO3 готово к использованию


Используете другой метод кластеризации TYPO3? Пожалуйста, поделитесь опытом с нами в комментариях ниже.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий