Миграция сайта между серверами 1С-Битрикс
Переезд Битрикс-сайта между серверами кажется простым: скопировать файлы, перенести базу, поменять DNS. На практике каждый из этих шагов содержит нюансы, которые стоят часов отладки. Битрикс хранит пути, домены и настройки в нескольких местах одновременно — и часть из них жёстко зашита.
Где зашиты пути и настройки
Перед переносом нужно знать, где Битрикс хранит критичные данные:
-
/bitrix/.settings.php— подключение к БД, хост, порт, имя базы -
/bitrix/php_interface/dbconn.php— старое ядро, параметры соединения (если ещё используется) -
/bitrix/modules/main/include/prolog_before.phpи настройки сайта в БД — домен привязан к сайту в таблицеb_lang -
/bitrix/cache/и/bitrix/managed_cache/— кэш, который нужно очистить после переноса -
/upload/— медиафайлы, могут занимать десятки ГБ - Лицензионный ключ — привязан к домену и серверу
Порядок переноса
Шаг 1. Подготовка нового сервера
Новый сервер должен соответствовать требованиям Битрикс: PHP нужной версии, расширения (mbstring, curl, gd, zip, xml, json), nginx/Apache с корректными rewrite-правилами. Для Битрикс 22+ — PHP 8.0–8.2.
Файл .htaccess или конфиг nginx копируется вместе с сайтом — в нём могут быть кастомные правила, без которых сайт не работает.
Шаг 2. Резервная копия файлов
# Архив файлов без кэша и временных данных
tar -czf /tmp/site-backup.tar.gz \
--exclude='./bitrix/cache' \
--exclude='./bitrix/managed_cache' \
--exclude='./bitrix/stack_cache' \
/var/www/html/
Папку /upload/ переносить отдельно — там могут быть гигабайты медиа.
Шаг 3. Дамп базы данных
mysqldump -u bitrix_user -p bitrix_db \
--single-transaction \
--routines \
--triggers \
> /tmp/bitrix_db.sql
Флаг --single-transaction критичен для InnoDB — обеспечивает консистентный снэпшот без блокировок во время дампа.
Шаг 4. Разворачивание на новом сервере
# Распаковка файлов
tar -xzf /tmp/site-backup.tar.gz -C /var/www/html/
# Импорт базы
mysql -u bitrix_user -p bitrix_db < /tmp/bitrix_db.sql
Шаг 5. Обновление конфигурации
/bitrix/.settings.php — обновить параметры подключения к БД:
return [
'connections' => [
'value' => [
'default' => [
'className' => '\Bitrix\Main\DB\MysqlCommonConnection',
'host' => 'localhost', // Новый хост БД
'database' => 'bitrix_db', // Имя базы на новом сервере
'login' => 'bitrix_user',
'password' => 'new_password',
'options' => 2,
],
],
],
];
Шаг 6. Смена домена в базе данных
Домен хранится в таблице b_lang:
UPDATE b_lang SET SERVER_NAME = 'newdomain.ru' WHERE LID = 's1';
Также проверить b_option на наличие жёстко зашитых URL:
SELECT * FROM b_option WHERE VALUE LIKE '%olddomain.ru%';
И в b_iblock — поля DETAIL_PAGE_URL, LIST_PAGE_URL — если используются абсолютные пути.
Шаг 7. Лицензионный ключ
После переноса на новый сервер или домен — переместить лицензионный ключ в административной панели Битрикс (Настройки → Лицензия). Если сервер изменился, может потребоваться обращение в поддержку 1С-Битрикс для переноса привязки.
Шаг 8. Очистка кэша
rm -rf /var/www/html/bitrix/cache/*
rm -rf /var/www/html/bitrix/managed_cache/*
rm -rf /var/www/html/bitrix/stack_cache/*
Из административной панели: Настройки → Производительность → Очистить кэш.
Тестирование перед переключением DNS
Проверка через hosts-файл (без смены DNS):
# /etc/hosts (на машине разработчика)
111.222.333.444 olddomain.ru # IP нового сервера
Чек-лист:
- Главная страница загружается
- Каталог и карточки товаров
- Корзина и оформление заказа
- Личный кабинет
- Административная панель
- HTTPS — сертификат установлен и работает
- Изображения товаров отображаются
- Почтовые уведомления отправляются
Переключение DNS и критическое окно
Переключение DNS делается в непиковое время. TTL рекомендуется снизить до 300 секунд за 24–48 часов до переноса. После смены DNS оба сервера работают параллельно до полного обновления DNS.
Для e-commerce важно: в период распространения DNS заказы могут идти на оба сервера. Решение — поставить на старом сервере редирект 301 на новый домен после проверки работоспособности.
Сроки выполнения
| Масштаб сайта | Срок переноса |
|---|---|
| Небольшой сайт (до 10 ГБ, простая БД) | 4–8 часов |
| Средний магазин (10–50 ГБ) | 1–2 дня |
| Крупный портал (50+ ГБ, сложные интеграции) | 2–5 дней |
Грамотный перенос — это нулевой даунтайм для бизнеса и полная работоспособность на новом сервере с первого дня.







