====== New Rotation Multidomains ======
Основная мысль - запустить на одной базе тумб много доменов с разными трейдерами, дизайнами, своей статистикой ротации и тп. К тому же можно на одной базе запускать сайты даже на разных серваках.
Как это реализовано: создается 1 сайт-база, на который собираются галеры и сетка сайтов, которые используют эту базу. Те изменения в одной базе автоматически отражаются на всей сетке.
Технически выглядит это так: например у нас есть 3 сайта. Ставим скрипт на все 3 сайта. Допустим сайт 1 у нас мастер (те на нем будет вся база тумб\галер), а сайты 2 и 3 - слэйвы, те они используют базу мастера с галерами. На мастере набираем галеры, грабим тумбы, создаем кастом гали, на слэйвах в Rotation - Settings прописываем мускл базу мастера. Нажимаем "Link to This DB" и сайты 2 и 3 превращаются в слэйвов, те используют базу тумб мастера.
**Чем это удобно:**
- Не надо копировать тумбы, кастом гали и тп. Все это делается 1 раз и автоматически расползается по всей сетке.
- Спонсоры - аналогично, общие для всей сетки сайтов.
- 10 доменов юзающих 1 базу создают меньше нагрузки чем 10 отдельных баз.
- Контент грабится только на 1 сайте = не надо настраивать кроппрофайлы и прочие настройки ротации на нескольких копиях.
- Можно создать кастом галю на мастере, при этом она будет отображаться в "своем" дизайне на каждом из слэйвов
- Нет ограничений на сервак, те мастер может быть на серваке 1, а слэйвы на серверах 2 3 4 5 и тп. Более того, можно выделить и оттюнинговать 1 сервер под мускл, а сами сиджи поставить на другой.
**Ограничения:**
- Для статусов галер - они общие, те отдельно делать шифт на слэйвах нельзя
- Для названий темплейтов кастом галер - они должны быть одинаковые для все слэйвов.
- У одного сдэйва может быть только 1 мастер, у мастера - может быть неограниченно слейвов.
**Общие данные для мастера и слэйвов:**
- Вся база тумб, включая статусы, титлы, дески, таги
- База тагов и как следствие - облако тагов
**Собственные данные у каждого слэйва:**
- Статистика по кликам, показам, цтр тумб
- Категории общие, но описания, custom vars - могут быть собственные у каждого. Более того, категории могут отключаться для конкретного сайта.
Обратите внимание, что по умолчанию слейв использует описания с мастера. таким образом мы не создаем новую таблицу с отдельными описаниями для слейва = экономим место. Но можно на слейве в сетингах нажать Separate Desc - и тогда для галер слейва можно будет добавлять собственные описания.
**Несколько ниш на одном мастере.**
Если у вас мастер мультинишевый, то вы можете из него быстро сделать несколько нишевых сайтов. Для этого надо:
- Поставить скрипт на новый домен
- Залинковать на мастера
- На этом слэйве сделать активными только нужные категории
**Как сделать**
Rotaiton - Settings : Linked DB выбираем external db и прописываем данные мастера.
===== Thumbs storage URL (Alt Hosts) =====
Если на мастере вы храните тумбы локально (например, по дефолту она сохраняются в scj/thumbs) то на слэйве в Rotation - Settings надо прописать Alt hosts домен мастера (именно домен, не урл, не путь и тп, а домен например domain.com).
Получается так: на мастере URL to thumbs стоит по дефолту /scj/thumbs/. Вы сграбили галерею, скрипт сохранил тумбу условно ИД 123 в файл scj/thumbs/123.jpg и записал в базу УРЛ к ней как /scj/thumbs/123.jpg. Те на страницах везде будет /scj/thumbs/123.jpg и на слэйве в том числе.
Поэтому на слэйве надо прописывать в альт хосты master.com что б урлы до тумб на слэйве получались http://master.com/scj/thumbs/123.jpg
Обратите внимание, что часто стоит антихотлинк картинок (и это правильно конечно), поэтому убедитесь, что для на мастере разрешен хотлинк для слэйва. Если вы не знаете как настраивается антихотлинк - обратитесь к админу.
===== URL to thumbs at slave =====
Если урлы вида http://master.com/scj/thumbs/123.jpg вам не нравится и надо в виде http://slave.com/scj/thumbs/123.jpg то вариантов 2
**Tсли это на одном серваке**
тогда НЕ прописываем alt hosts, а делаем симлинк условно /home/slave.com/scj/thumbs -> /home/master.com/scj/thumbs
урлы на слэйве остаются просто вида /scj/thumbs/123.jpg, а поскольку есть симлинк то они нормально подгружаются
**Если это на разных серваках**
* добавляем DNS запись вида img.slave.com которая указывает на master.com
* прописываем alt hosts = img.slave.com
* урлы тумбы на слэйве получаются вида http://img.slave.com/scj/thumbs/123.jpg, а поскольку DNS для img.slave.com указывает на мастер то все подгружается оттуда, хотя выглядит как с slave.com
===== Mysql at remote server =====
* Местер и слэйв могут быть на разных серваках, на это нет никаких ограничений, однако есть 2 "но"
* желательно что б они были в одном датацентре
* в зависимости от настроек мускл бывают разрешены конекты только с локалхоста, если со слэйва не конектит на мастер - надо попросить админа решить этот вопрос.
===== Thumb stats =====
У слейвов своя статистика по тумбам, но при присоединении слейва статистика копируется с мастера. Если вы хотите начать ротацию на слейве с 0 - можно сделать резет всех статистики в rotation - special.
===== Another design =====
Если вам надо сделать сайт с той же базой как и мастер, но другим дизайном\темплейтами (те полная копия всего кроме темплейтов) то на мастере Rotation - Master ставим Own thumb stats = Use master, Own descriptions = use master и получаем сайт - полную копию мастера только с другим дизайном, так можно на одном серваке запустить сотни сайтов для трейдинга по кругу.
===== Category and Index Thumbs =====
Если у вас мастер и слейв трейдят между собой и на индексе доменов тумбы категорий - имеет смысл обратить внимание на опцию Rotation - CMS - Tube Settings - "Category thumbs : Thumb number " и выставить например для слейва в качестве тумбы категорий не первую из категории, а например 2-3, дабы изначально сайты выглядели по-разному. А когда пройдет какое-то время и цтр тумб на слейве начнут отличаться от мастера - поменять на слейве снова на первую.
===== Send to Master Galleries =====
По дефолту слейвы линкуют на гали у себя. Например, мы сделали кастом галю, фактически это список контента, который отображается используя определнный темплейт. Мастер и слейв могут иметь разные темпелйты и это удобно дабы представлять один и тот же контент в разом виде.
Те http://master/gallery/cool/index.html
и
http://slave/gallery/cool/index.html
отобразят один и тот же контент, но каждый своим темпелейтом.
Однако иногда имеет смысл линковать со слейва на мастер для увеличения кол-ва ссылок на мастер и соотв роста его ПР.
Первый вариант который приходит в голову это сменить дефотный саб на слейве вида /gallery/GALLERY_SLUG/index.html?rotation_params на http://master/gallery/GALLERY_SLUG/index.html?rotation_params
Оно будет работать, однако как не сложно заметить оно будет сразу переходить на домен мастера и на слейве не будет ротации тк трафф не будет проходить через аут на этом домене.
Варианта 2
1. Меняем саб что бы траффик проходил через аут слейва те
/gallery/GALLERY_SLUG/index.html?
меняем на
/scj/cgi/out.php?url=http://master/gallery/GALLERY_SLUG/index.html&link=images/
2. Либо меняем реврайт
RewriteRule ^gallery/([^/]+)/index.html$ /scj/cgi/out.php?link=images/%{QUERY_STRING}&url=content&slug=$1 [L]
на
RewriteRule ^gallery/([^/]+)/index.html$ /scj/cgi/out.php?link=images/%{QUERY_STRING}&url=http://master/gallery/$1/index.html [L]