Клиент и контекст проекта
Заказчик — компания с работающим сайтом на 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

