About

Все публикации с тегом “mod_rewrite”

7 минут

Во время переезда на новый хостинг сервер не работал около семи минут. На сервере находятся две версии архива: обычная и отладочная. Естественно, они используют разные базы данных. Поэтому можно довольно свободно экспериментировать с отладочной версией, не боясь поломать основную. Когда отладочная версия работает хорошо, можно сделать hg pull path_to_dev && hg update, и обычная версия обновится до отладочной.

Процедура переезда была такова:

  1. Копирование исходников обеих версий на новый сервер.
  2. Изменение исходников отладочной версии до рабочего состояния (в основном исправление путей к файлам и путей на сервере).
  3. Отключение возможности записи в базу данных на старом сервере. Да, это довольно грубый хак, но в рассылке все были предупреждены. В MySQL это делается приблизительно так: mysql> REVOKE INSERT,DELETE,UPDATE on db.* from 'usr'@'localhost'; flush privileges;
  4. Создание на новом домене (DNS запись которого была предусмотрительно переведена на новый сервер) новой рабочей копии архива. Для этого на старом сервере делаем: python manage.py dumpdata > backup.json. Затем на новом python manage.py syncdb, python manage.py (вывод передаём в ваш любимый клиент) и python manage.py loaddata backup.json.
  5. Создание редиректа при помощи mod_rewrite со старого сервера на новый (несколько простых правил). Собственно, на этом пункте и возник простой. Он длился точно не более 7 минут, а скорее всего меньше. Если бы я не поленился и отладил правила для mod_rewrite на другом сервере, то задержка составляла бы несколько секунд.
  6. Поднятие виртуального хоста для старого домена на новом сервере.
  7. Изменение DNS старого домена на новый сервер.

Вся процедура заняла около двух часов спокойной работы (включая не быстрое перекачивание всех картинок со старого сервера на новый).