Menu
  Home
  Demo
Многосерверные конфигурации (в основном для админов)

Перенос между серверами

Скрипт логически разделен на несколько независимых от месторасположения (на серверах) частей :
  • база данных
  • админки (вебмастерская и овнера)
  • дизайны платников
  • мемберзоны
  • FHG/FHS
Эти части могут быть расположены на на разных серверах в произвольном порядке, единицей деления для платников и FHG является домен (дизайн и мемберзона являются отдельными частями)
Ограничений по числу серверов нет, на данный момент максимально большой реально работающей конфигурацией является связка из 12 серверов



  • Server ID
У каждого сервера в партнерке есть приписанный ему отдельный ID (srv_id)
Список их ведется в Settings / Sites / [ servers list ] :
    • ID создаются автоматически по порядку при добавлении
    • Name - текстовое описание сервера для дальнейшего использования в админке (хостер, etc)
    • для удаления сервера из списка нужно сделать update с пустым Name
Соответствие конкретного сервера его ID указывается параметром srv_id в файле конфигурации /etc/partner.conf на этом сервере

Для каждого дизайна платника, мемберзоны, домена FHG/FHS в их настройках указывается на каком именно сервере из списка он расположен

NOTE ! точное соответствие сервера в настройках элемента партнерки его реальному расположению чрезвычайно важно; при неправильно указанном сервере правильная работа не только не гарантируется - гарантированно не будет работать; при всех переносах сайтов между серверами не забывайте указывать это в админке скрипта



  • Обновление локальных конфигов (saveconfig.cron)
При работе скрипт считывает конфигурацию не напрямую из базы, а использует заранее сохраненные plain-text файлы конфигурации (каталог /home/dp/spool, файлы site.*, ban.*, geo.*, members, aliases, etc)
За апдейт этих конфигов на данном сервере отвечает крон-скрипт saveconfig.cron, который должен запускаться из крона раз в минуту на каждом сервере партнерки
Причины для изменения конфигов - добавление сайта, FHG галерей, регистрация вебмастера, etc; скрипт определяет на каких серверах необходимо обновление и делает пометки в базе для saveconfig.cron
В админке в Settings / Sites (FHG/FHS) сайты расположенные на этих серверах отмечаются (*), при нормальной работе скрипта эта отметка должна исчезнуть максимум через минуту, после отработки saveconfig.cron на соответствующем сервере(ах)



Подключение / смена сервера, перенос сайтов между серверами

  • Копирование каталога скрипта
Копируется целиком каталог /home/dp со всеми подкаталогами и сохранением прав на них (рекомендуется tar)
Так же желательно заранее создать ssh-аккаунт для саппорта и установить его владельцем этого каталога
Если операционные системы бинарно несовместимы между собой - обратиться к сапорту для перекомпиляции

  • Настройка файла конфигурации и доступа к базе
    • настраивается доступ к базе партнерки с нового сервера
    • копируется файл конфигурации и соответственно правятся db* параметры в нем
    • при добавлении нового сервера в партнерку - создается новый сервер в админке (см. выше) и указывается его srv_id в конфиге
Тестирование - запустить saveconfig.cron -v (полное обновление конфигов) и проконтролировать что файлы конфигурации в /home/dp/spool обновились
Прописать saveconfig.cron в крон

Дальнейшие действия зависят от от списка частей партнерки, которые переносятся :

  • Мемберзоны платников
    • проверить в админке в настройках сайтов правильность указания путей к файлам паролей мемберок и логам апача на новом сервере
    • если необходимо - сменить в админке сервер, на котором они расположены
    • запустить скрипты analyze.cron и parse.cron с параметром -v, проверить что они находят файлы и логи
    • прописать эти два скрипта в crontab
    • если используются скрипты сообщения о бане - перенести на новый сервер

  • Дизайн платников, домены FHG / FHS
    • проверка наличия PHP в апаче
    • переключение DNS и тестирование обработки трафика :
      • зайти на каждый сайт (1-2 галереи из домена для FHG) по вебмастерскому линку
      • проверить обработку echo $dpid или echo $fhgid для галер
      • убедиться что в файл /home/dp/spool/stats записывается статистика
      • запустить clicks.cron -v и проверить появление статистике в админке
    • прописать clicks.cron в крон

  • Смена главного сервера (админки и база)
    • копирование скрипта
    • копирование базы и файла конфигурации
      • на всех остальных серверах - правка доступа к базе в конфиге
    • перенос сайтов / мемберок / FHG, как описано выше
    • настройка админок - в VirtualHost домена партнерки добавить
ScriptAlias /admin /home/dp/admin
ScriptAlias /partners /home/dp/memb
ScriptAlias /cust /home/dp/cust
Alias /dpwww /home/dp/www

      • note : /partners - это каталог вебмастерской статистики; на вашей партнерке может быть другим (/resellers, /stats, etc), соответственно изменить
    • полностью скопировать crontab_example
    • для биллингов с привязкой к серверу :
      • с ограничением по IP забора статистики (ex. CCBILL, VXSBill) - прописать в админке билла или сообщить саппорту биллинга IP нового сервера
      • Paycom - настроить и сообщить им новый доступ к базе