2011-01-06 3 views
2

Итак, у нас есть сайт drupal 6, который работает хорошо, но теперь мы хотим подготовить его для трафика , поэтому следующим шагом будет наличие 2 веб-серверов, работающих на одном сайте (база данных уже выполняется на отдельном сервере), а затем использовать другой сервер для балансировки нагрузки между ними.Балансировка нагрузки на Drupal

Итак, вчера я отразил файлы исходного сервера drupal (который работает, скажем, на www.example.com) на новый сервер (который запускается, скажем, 123.123.123.123 - только IP, без домена), чем я отредактировал файл settings.php второго, чтобы убедиться, что базовый url равен 123.123.123.123.

один раз, когда я просмотрел 123.123.123.123, чтобы проверить, работает ли зеркало сайта, я получил пустую страницу .. глядя на источник, основная структура была там, но не содержимое, а CSS указывал в нужное место, но пока не показываю .. Я решил перейти на 123.123.123.123/admin/ и посмотреть, что я могу сделать .. пошел на производительность сайта и очистил кеш, ничего не сделал, но потом заметил оригинальный drupal теперь показывал пустое ... поэтому я пошел на www.example.com/admin/, также очистил кеш, сайт вернулся, но оказалось, что маршрутизатор меню был уничтожен, потому что я везде получал «страницу не найдена». Поэтому я перешел на страницу модулей и нажал кнопку save hop, чтобы перестроить маршрутизатор меню. Он сделал трюк, сайт вернулся в интернет и работал хорошо.

Очевидно, я перестал ковыряться с 123.123.123.123 и решил, что пришло время обратиться за помощью от экспертов ...

Что я делаю неправильно? Любая помощь будет принята с благодарностью!

Julien

+0

Если ваша балансировка нагрузки настроена на полную прозрачность, вы не должны изменять базовый url на второй машине. example.com указывает на ваш балансировщик нагрузки, и он перенаправляет запрос на любой из ваших серверов. Каждый из них должен использовать example.com для создания URL-адресов для ссылок и ресурсов. Затем, если клиент запрашивает эти URL-адреса, он снова попадает на балансировщик нагрузки. Возможно, вам нужны липкие сеансы и, вероятно, папка с файлами (где загружаются файлы), разделяемые между всеми серверами (NFS). – rik

+0

Спасибо за ответ! Что касается папки для загруженных файлов, она уже находится на NAS, который установлен на обоих серверах, поэтому проблем нет. балансировщик нагрузки еще не настроен, пока я просто хотел протестировать зеркальную копию моего сайта drupal, чтобы узнать, работает ли он и дальше оттуда .. точка в том, что я вообще не получаю контент. Я имею в виду, что оба сервера имеют те же файлы и те же конфиги, что вызывает то, что никто не извлекает контент и почему он будет работать с маршрутизатором меню ...? – Julien

ответ

3

Я не думаю, что из коробки вы можете сделать это с помощью D6.

Есть несколько вещей, которые вас поймают.

  • Настройки хранятся в базе данных, поэтому, если ваши серверы не идентичны, один сервер не будет работать.
  • База данных не настроена для работы с несколькими серверами, обращающимися к ней. Это может привести к условиям гонки или взаимоблокировкам.
  • Загруженные или сгенерированные файлы не будут отображаться на обоих серверах, поэтому файлы будут отсутствовать.

Возможно, другие вещи тоже, но этого достаточно, чтобы продолжать.

Так у вас есть два варианта:

  • Go с чем-то вроде Pressflow, который D6 совместим и имеет опции для работы на зеркальных серверах.
  • Настройте сервер для обработки нагрузки.

Настройка сервера может быть хорошей отправной точкой.Вот несколько советов

  • убедитесь, что кэширование Drupal будет повернут на
  • использовать кэш-параметр Код_параметра как АРС см некоторых тесты here
  • Установку модуль кэш маршрутизатор использовать АРС для кэша в Drupal
  • установить подталкивание модуля

Существует гораздо больше в глубине статьи here

Я бы предложил прочитать статью и сделать все возможное на одном сервере. Хотя можно перейти на 2 или даже 200 серверов, это добавляет много сложности вашей системе.

+0

спасибо за ответ, и забыли ссылку на статью, хотя ...;) – Julien

+0

Исправлено. Стоит прочитать –

+0

спасибо, собираюсь проверить это :) – Julien

Смежные вопросы