Вопрос или проблема
Рассмотрим следующие серверы с их доменными именами:
Сервер A:
Домен A1 (Основной домен)
Домен A2 (Дополнительный домен)
Сервер B:
Домен B1 (Основной домен)
Домен B2 (Дополнительный домен)
Сначала я настроил мультисайт WordPress на A1
, затем создал новый сайт, используя фиктивный URL подкаталога, и затем отредактировал сайт, изменив URL на A2
, затем я перешел в cpanel и изменил корневую директорию A2
, чтобы она указывала на A1
(где находится мультисайт). На данный момент всё в порядке, но теперь я хочу создать новый сайт для мультисайта под B2
. К сожалению, B2
находится на другом сервере, что означает, что я не могу просто изменить его корневую директорию, чтобы она указывала на A1
. Что я могу сделать? Это вообще возможно?
Я считаю, что Multisite предполагает, что все сайты находятся на одном сервере. Это потому, что для всех сайтов используется одна и та же база данных WP. (Хотя базы данных могут становиться довольно большими, если сайтов много и много контента. Поэтому вам нужно убедиться, что хостинг-сервер может обрабатывать большие базы данных.)
Поэтому я не вижу способа сделать это (но я уже ошибался раньше). Если вы хотите распределить нагрузку, думаю, вы могли бы создать зеркальные сайты на обоих серверах, а затем использовать какую-то балансировку нагрузки на фронтенде, чтобы направлять трафик на один из серверов.
Если вы беспокоитесь о нагрузке от множества сайтов, тогда просто убедитесь, что у вас есть план хостинга с мощными серверными ресурсами. Базовый план «общий» хостинг может перегружаться в зависимости от трафика и размера базы данных.
Ответ или решение
Создание мультисайтовой сети с различными доменными именами на разных серверах — это немалая задача, требующая серьезного подхода как с технической, так и с инфраструктурной стороны.
Теория:
В WordPress мультисайты обычно строятся на одной серверной инфраструктуре, что позволяет использовать общую базу данных для всех сайтов. Это значительно упрощает управление контентом и настройками. Однако существуют сценарии, когда необходимо подключить сайт к мультисайту, имея его хостинг на другом сервере, как в вашем случае с доменом B2. Это может быть вызвано рядом причин, таких как балансировка нагрузки или ограничения на старом сервере.
Пример:
В вашей ситуации, домен B2 находится на сервере B, который физически отличается от сервера A. Это означает, что вы не можете просто изменить корневую директорию B2, чтобы она указывала на A1, где размещается ваша мультисайтовая сеть. Вам потребуется альтернативное решение для интеграции B2 в мультисайтовую сеть на другом сервере.
Применение:
-
Обратное проксирование (Reverse Proxy): Вы можете настроить обратное проксирование на сервере B, чтобы перенаправлять запросы к B2 на сервер A. Это потребует конфигураций на уровне веб-сервера (например, Nginx или Apache) и может вызвать незначительное увеличение времени отклика.
-
Система управления DNS: Использование системы управления DNS для распределения трафика может помочь направлять пользователей на нужный сервер, однако потребует грамотной настройки записей DNS и может быть недостаточно эффективным без дополнительных настроек.
-
API Интерфейсы и Синхронизация: В некоторых случаях возможно использование API-интерфейсов для взаимодействия между двумя серверами, однако это сложная задача, требующая разработки решений для синхронизации контента и пользователей.
-
Облачные решения и контейнеризация: Рассмотрите возможность использования облачных решений и контейнеров (например, Docker) для упрощения развертывания и управления скалируемой архитектурой. Kubernetes может помочь с балансировкой нагрузки и управлением сервисами.
Итогом всех этих действий должно стать достижение максимальной производительности и надежности архитектуры вашей сети. Однако важно помнить, что каждое из предложенных решений требует детального планирования и тестирования перед окончательной реализацией.