Клиент и контекст проекта
Заказчик — российская компания с корпоративным сайтом на 1С-Битрикс, который эксплуатируется уже несколько лет и нуждался в комплексной модернизации: как серверной инфраструктуры, так и кодовой базы. Сайт стоял на устаревшем окружении, шаблон был написан под старую версию PHP, ядро и модули Битрикса отставали от актуальных релизов. Совокупно это создавало риски как по безопасности (отсутствие обновлений), так и по производительности (старый PHP медленнее, старое окружение не содержит актуальных оптимизаций).
Все работы по развёртыванию новой инфраструктуры, переносу сайта, переписыванию шаблона и обновлению ядра я выполнил лично за 13 календарных дней. Обезличивание: домен сайта, название юрлица, контактные данные и стоимость работ в публичной версии кейса не приводятся. Я базируюсь в Москве и работаю с заказчиками из любого региона РФ, СНГ и за рубежом — в данном случае все работы были выполнены удалённо.
Проблема и задачи
К моменту обращения проект клиента находился в классическом состоянии «накопленного технического долга»: каждая отдельная проблема не была критичной, но их совокупность делала сайт уязвимым и не позволяла развивать функциональность без риска что-то сломать. Задачей было не «латать дыры», а комплексно обновить инфраструктуру и кодовую базу до современного состояния.
Задача 1. Заменить серверную инфраструктуру
Старое окружение не соответствовало актуальным требованиям 1С-Битрикса: отсутствовали преднастройки под современные версии PHP, не было готовой конфигурации кеширования, отсутствовал Redis (который в актуальных версиях Битрикса рекомендуется для session_handler и части кеша). Требовалось развернуть новое окружение на актуальной версии BitrixVM и перенести сайт без потери данных и функциональности.
Задача 2. Перевести шаблон на PHP 8.4
Шаблон сайта был написан под старую версию PHP и содержал конструкции, несовместимые с PHP 8.4. Простое переключение версии PHP на сервере привело бы к фатальным ошибкам на фронтенде. Требовалось переписать шаблон под PHP 8.4 с сохранением всей визуальной части и функциональности — без регрессий для пользователей.
Задача 3. Обновить ядро и модули Битрикса
Ядро 1С-Битрикса и установленные модули отставали от актуальных версий. Это означало отсутствие свежих исправлений безопасности, неподдержку новых возможностей платформы и потенциальную несовместимость с будущими обновлениями PHP. Требовалось обновить ядро и все модули до актуальных версий с гарантией отсутствия регрессий.
Решение
Работы были организованы в два последовательных этапа. Этап 1 — инфраструктурный: развёртывание нового сервера, настройка окружения, перенос сайта. Этап 2 — кодовая база: переписывание шаблона под PHP 8.4, обновление ядра и модулей. Все работы на обоих этапах я выполнил лично.
Этап 1. Развёртывание новой инфраструктуры (BitrixVM 9.0.9)
- Развёрнута актуальная версия виртуальной машины BitrixVM 9.0.9 — это официальное окружение от 1С-Битрикс с преднастроенными Nginx, Apache, PHP, MySQL и всеми необходимыми интеграциями.
- Настроен Memcached — для кеширования компонентов и части сессий Битрикса.
- Настроен Redis — для session_handler и более быстрого кеша. Двухуровневое кеширование (Memcached + Redis) даёт заметный прирост по сравнению с одним только Memcached, особенно на нагруженных проектах.
- Создан и настроен пул для нового сайта в интерфейсе BitrixVM: выделены ресурсы, настроены параметры PHP и MySQL под фактический профиль нагрузки проекта.
- Проведены оптимизации настроек CentOS под используемое оборудование: параметры ядра ОС, лимиты файловых дескрипторов, настройки TCP-стека, swappiness. Это позволяет серверу эффективнее использовать доступные ресурсы.
- Сайт успешно перенесён на новую инфраструктуру: файловая структура, база данных, конфигурационные файлы. Переключение DNS выполнено без downtime для пользователей.
Этап 2. Переписывание шаблона и обновление кодовой базы
- Шаблон сайта полностью переписан на PHP 8.4: заменены устаревшие конструкции, удалены deprecated-функции, переписан код, использовавший возможности старых версий PHP.
- Проведено тестирование на ошибки после переписывания шаблона — ошибки не выявлены. Тестировались все ключевые сценарии: главная страница, каталог, карточки товаров, формы обратной связи, личный кабинет, административная часть.
- Ядро 1С-Битрикс и все установленные модули обновлены до актуальных версий.
- Проведено повторное тестирование на ошибки после обновления ядра и модулей — ошибки не выявлены. Это критично: обновление ядра Битрикса иногда затрагивает обратную совместимость с пользовательскими шаблонами, поэтому повторная проверка обязательна.
Результаты
Все работы выполнены за 13 календарных дней. Клиент получил полностью обновлённый проект: современная серверная инфраструктура на BitrixVM 9.0.9, двухуровневое кеширование через Memcached + Redis, актуальная версия PHP 8.4, обновлённое ядро и модули Битрикса. Сайт работает стабильно, ошибок после переписывания шаблона и обновления ядра не выявлено.
| Показатель | Результат |
| Срок выполнения | 13 календарных дней (2 рабочих недели) |
| Этапов работ | 2 (инфраструктура + переписывание шаблона) |
| Версия BitrixVM | 9.0.9 (актуальная на момент работ) |
| Версия PHP | 8.4 (самая свежая на момент работ) |
| Кеширование | Memcached + Redis (двухуровневое) |
| ОС | CentOS (проведена оптимизация под оборудование) |
| Сайт после миграции | стабильно работает, ошибок не выявлено |
| Перепроверка после обновления ядра/модулей | тесты пройдены, ошибок нет |
Дополнительно клиент получил: готовность к будущему развитию проекта — на свежем стеке можно внедрять новые модули и интеграции без оголовья про «у нас старый PHP, этот модуль не встанет»; улучшенную производительность за счёт PHP 8.4 (в нём заметно ускорены генераторы, JIT и работа с типами) и двухуровневого кеширования; снижение рисков безопасности — все компоненты получают актуальные обновления.
Технологический стек
1С-Битрикс BitrixVM 9.0.9 PHP 8.4 CentOS MySQL Nginx + Apache Memcached Redis OPCache Bitrix push-сервер

