Skip to main content

Миграция сайта на 1С-Битрикс с FastPanel на виртуальную машину BitrixVM

Клиент и контекст проекта

Заказчик — компания с работающим сайтом на 1С-Битрикс, который эксплуатируется уже несколько лет и приносит бизнесу заявки. Сайт размещён на собственном VPS-сервере с достаточно мощным железом: объём оперативной памяти и количество ядер CPU с запасом перекрывают потребности проекта. При этом сайт стабильно работал плохо: периодически «зависал» в долгой загрузке, иногда падал с ошибкой, регулярно терял связь с базой данных и требовал ручного перезапуска служб.

Все работы по диагностике, переносу, настройке нового сервера и доработке шаблонов я выполнил лично. Обезличивание: домен сайта, название юрлица и контактные данные клиента в публичной версии кейса не приводятся. Я базируюсь в Москве и работаю с заказчиками из любого региона РФ, СНГ и за рубежом — в данном случае все работы были выполнены удалённо, без выезда на площадку заказчика.

Проблема

При первичном аудите я выявил фундаментальную причину всех симптомов: неправильный выбор серверной инфраструктуры. Сайт использовал ядро 1С-Битрикс, однако предыдущие подрядчики вместо официальной виртуальной машины BitrixVM установили панель управления FastPanel. FastPanel — хорошая панель для своих задач, но она ориентирована преимущественно на статичные проекты и сайты на WordPress. Для 1С-Битрикса она не содержит необходимых преднастроек: специфической конфигурации Nginx+Apache, интеграции с push-сервером Битрикса, готового кеширования через Memcached и ряда других компонентов, без которых Битрикс работает неоптимально.

Симптом 1. Падения и долгая загрузка сайта

Из-за отсутствия правильной конфигурации кеширования и неоптимальных настроек PHP-процессов сайт регулярно «уходил» в долгую загрузку. Пользователи ждали ответа по 10–30 секунд, после чего часть из них закрывала вкладку. В пиковые моменты PHP-FPM полностью исчерпывал пул процессов, и сайт переставал отвечать на новые запросы.

Симптом 2. Периодическая потеря связи с базой данных

Конфигурация MySQL на FastPanel была оставлена по умолчанию, без адаптации под профиль нагрузки 1С-Битрикса. При росте количества одновременных соединений MySQL переставал принимать новые подключения — сайт возвращал ошибку соединения с БД. Это классический симптом нехватки max_connections и неправильной настройки wait_timeout, но корень проблемы — в самой инфраструктуре, а не в отдельных параметрах.

Симптом 3. Мощное железо не помогает

Парадоксальная для заказчика ситуация: сервер имел заметный запас по CPU и RAM, но сайт всё равно работал плохо. Это типичная история для «неправильной» панели: ни увеличение процессора, ни добавление памяти не помогают, если программный стек не настроен под конкретную CMS. Заказчик уже начинал думать об апгрейде железа — но реальное решение было не в железе, а в правильной инфраструктуре.

Сравнение инфраструктуры: FastPanel vs BitrixVM

Чтобы заказчику было понятно, почему именно миграция на BitrixVM решит его проблемы, я подготовил сравнительную таблицу по ключевым параметрам. Это помогло обосновать решение и согласовать объём работ.

Параметр До: FastPanel После: BitrixVM
Панель управления FastPanel BitrixVM (Bitrix Virtual Appliance)
Целевая платформа WordPress, статичные сайты 1С-Битрикс
Преднастройки под Битрикс отсутствуют да, официальные от 1С
Стек Nginx+Apache+PHP произвольный оптимизирован под Битрикс
OPCache / Memcached ручная настройка преднастроено
Push-уведомления Bitrix не поддерживается из коробки поддерживается
Мониторинг и ротация логов частично полный набор
Совместимость с PHP 8.2+ ограниченная полная

Решение

Совместно с клиентом было принято решение о переносе сайта на новый сервер с предустановленной виртуальной машиной BitrixVM. Использование именно нового сервера (а не очистка старого) было выбрано сознательно: это позволило развернуть и протестировать новую инфраструктуру параллельно с работой старого сайта, без downtime для пользователей. Все работы по переносу, настройке и доработке я выполнил лично, по следующему плану.

Этап 1. Резервное копирование

  • Создан полный бэкап старого сервера: файловая структура сайта, база данных, конфигурационные файлы, SSL-сертификаты, пользовательские данные.
  • Бэкап размещён в независимом хранилище, чтобы исключить его потерю в случае проблем с любым из серверов.
  • Проверена восстанавливаемость бэкапа: из дампа развёрнута тестовая копия для проверки целостности данных.

Этап 2. Настройка нового сервера и установка BitrixVM

  • Развернут новый VPS-сервер с чистой ОС Linux.
  • Установлена официальная виртуальная машина BitrixVM (Bitrix Virtual Appliance) — это готовое окружение с преднастроенными Nginx, Apache, PHP, MySQL, Memcached, push-сервером и всеми необходимыми интеграциями под 1С-Битрикс.
  • Выполнена базовая настройка сервера: часовой пояс, локали, SSH-доступ, файрвол, обновление пакетов ОС.

Этап 3. Настройка конфигурации BitrixVM под проект

  • Создано отдельное окружение (pool/site) под сайт клиента в интерфейсе BitrixVM.
  • Настроены параметры PHP под реальную нагрузку: memory_limit, max_execution_time, opcache-параметры.
  • Настроены параметры MySQL: max_connections, wait_timeout, innodb_buffer_pool_size — под фактический объём памяти сервера.
  • Подключён Memcached для кеширования сессий и блоков Битрикса, настроены параметры пула.
  • Включён и настроен push-сервер Битрикса для работы real-time-уведомлений.

Этап 4. Развёртывание бэкапа на новом сервере

  • Файловая структура сайта перенесена из бэкапа на новый сервер, с сохранением прав доступа и владельцев.
  • База данных восстановлена из дампа, выполнена переиндексация и проверка целостности таблиц.
  • Обновлены конфигурационные файлы сайта под новые пути и параметры подключения: dbconn.php, .settings.php, настройки кеширования.
  • Проверена корректность работы сайта на новом сервере в тестовом режиме (через /etc/hosts) — без переключения DNS.

Этап 5. Настройка cron-задач и отправки почты

  • Настроены cron-задачи Битрикса: агенты, рассылки, очистка кеша, резервное копирование по расписанию.
  • Настроена отправка почты с сайта: корректный MTA (агент передачи почты), корректные заголовки, SPF/DKIM/DMARC-записи для домена — чтобы письма не попадали в спам.
  • Протестирована отправка писем: формы обратной связи, уведомления о заказах, административные уведомления.

Этап 6. Обновление и доработка шаблонов под PHP 8.2

  • PHP на новом сервере обновлён с версии 8.0 до 8.2 — это актуальная LTS-версия с улучшенной производительностью и поддержкой безопасности.
  • Проведён аудит шаблонов сайта на совместимость с PHP 8.2: выявлены конструкции, deprecated в 8.1/8.2.
  • Доработаны шаблоны: заменены устаревшие функции, исправлены потенциальные предупреждения (warnings/deprecations), переписан код, использующий удалённые возможности PHP 8.0.
  • Проведено регрессионное тестирование: проверены все ключевые сценарии работы сайта — каталог, корзина, оформление заказа, личный кабинет.

Этап 7. Переключение DNS и мониторинг

  • Снижен TTL DNS-записи домена до минимума, чтобы переключение произошло быстро.
  • DNS-записи переключены на новый сервер, настроены корректные A- и AAAA-записи, проверено распространение.
  • Настроен мониторинг доступности сайта с алертом в Telegram при первом же признаке аномалии.
  • Параллельно с переключением велось наблюдение за логами старого и нового серверов — на случай необходимости быстрого отката.

Результаты

После переключения DNS на новый сервер падения сайта полностью прекратились. Сайт перестал «уходить» в долгую загрузку: благодаря корректной конфигурации кеширования через Memcached и OPCache, а также правильной настройке пулов PHP-FPM под нагрузку, отклик страниц ускорился в несколько раз. Потеря связи с базой данных больше не фиксировалась — корректно настроенный MySQL с адекватным max_connections и wait_timeout легко справляется с нагрузкой.

Показатель Результат
Причина миграции неподходящая панель управления сервером
Панель до работ FastPanel (оптимизирована под WordPress)
Панель после работ BitrixVM (виртуальная машина 1С-Битрикс)
Падения сайта после миграции 0 за период наблюдения
Связь с базой данных стабильная, обрывов не зафиксировано
Кеширование включено, работает штатно
PHP обновлён с 8.0 до 8.2
Автоматические бэкапы (cron) настроены по расписанию
Отправка почты с сайта настроена и протестирована

Дополнительно клиент получил: актуальную и поддерживаемую версию PHP (8.2) с улучшенной производительностью и безопасностью, настроенное автоматическое резервное копирование по расписанию, корректно работающую отправку почты с сайта (без попадания в спам) и готовую инфраструктуру под дальнейшее развитие проекта — масштабирование, интеграции, обновление Битрикса. Старый сервер был выключен после недельного наблюдения и подтверждения стабильной работы нового.

Технологический стек

 1С-Битрикс     BitrixVM (Bitrix Virtual Appliance)     PHP 8.0 → 8.2 (миграция)     MySQL     Nginx + Apache     Memcached     OPCache     Push-сервер Битрикс     Cron     Postfix / MTA     SPF / DKIM / DMARC