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
 
 
     
Причина, по якій ми додаємо другий сервер додатків тільки після установки в тому, що таким чином ми синхронізуємо всі дані між двома нодамі Apache і уникаємо повторної установки і налаштування.
 Ви також можете налаштувати синхронізацію файлів між серверами кластера, використовуючи інструкцію в документі Синхронізація файлів
 
 ÐžÑ‚крыть в браузере кластер
 
Ваше високонадійне і масштабується кластерізірованное рішення з встановленим TYPO3 готове до використання. Натисніть Відкрити в браузері і приступайте до роботи.
 
 TYPO3 готово к использованию
 
Використовуєте інший метод кластеризації TYPO3? Будь ласка, поділіться досвідом з нами в коментарях нижче.
  
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.