URL ресурсов не работает из-за балансировки нагрузки в Yii

Я работаю над проектом Yii 1.2 Frameworks.
Я создал URL ресурса, используя приведенный ниже код.

$this->_assetsUrl = Yii::app()->getAssetManager()->publish(Yii::getPathOfAlias('aessessment.assets'));

где aessessment это имя модуля.

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

$stylesheet = file_get_contents($this->module->assetsUrl . '/pdfcss/style.css');

Этот код отлично работает в моей локальной системе, а также на моем сервере разработки.

Для производства у меня есть два сервера с именем вроде study1 а также study2 назначьте балансировщик нагрузки.

Поэтому, если пользователь открывает URL-адрес study.mywebsite.com, балансировщик нагрузки отправляет запрос на сервер study1 или study2.

У меня проблема здесь. file_get_contents дает мне пустой результат здесь.

Я попытался вставить файл CSS в вид, используя URL-адрес активов, используя код ниже.

<link href="<?php echo $this->module->assetsUrl; ?>/gcicss/css/style.css" rel="stylesheet" type="text/css" />

Он также не работает с URL сайта study.mysite.com.

Если бы я попытался с study1.mysite.com или же study2.mysite.com URL то все работает нормально.

но я не могу добиться успеха на URL study.mysite.com.

У меня есть поиск по нескольким ответам онлайн, но я не получаю успеха.

Любая помощь будет высоко ценится.

Заранее спасибо !

2

Решение

Это обычная проблема, когда ресурсы генерируются внутренним сервером и помещаются в его файловую систему.

Самый простой способ это исправить — изменить настройки веб-сервера для папки assets на study.mysite.com. Он должен попытаться найти конкретный файл ресурсов на первом сервере, а в случае сбоя попытаться найти этот файл на втором сервере. Но этот подход плохо масштабируется для 3, 4, 5 и т. Д. На серверах.

Лучше будет опубликовать ресурсы с обоих серверов в одном месте, которое будет доступно для веб-сервера study.mysite.com.

Я рисую картину с помощью этой простой схемы:
введите описание изображения здесь

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector