Pull to refresh
0
Rating
Jelastic
Jelastic DevOps PaaS для хостеров и ISV

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

Jelastic corporate blog TYPO3 *
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

Вместо нужно прописать 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? Пожалуйста, поделитесь опытом с нами в комментариях ниже.
Tags:
Hubs:
Total votes 25: ↑19 and ↓6 +13
Views 6.3K
Comments Comments 13

Information

Founded
Location
США
Website
jelastic.com
Employees
Unknown
Registered