Виртуальный хостинг перестаёт справляться примерно на том этапе, когда каталог вырастает до десятков тысяч товаров, а посещаемость — до нескольких тысяч человек в сутки. Дальше начинается VPS: собственный сервер, где вы сами решаете, как всё настроено.
Разберём, какие ресурсы реально нужны сайту на 1С-Битрикс, из чего состоит настройка сервера и в каком порядке её делать, чтобы не собирать конфигурацию заново.
Сколько ресурсов нужно
Битрикс требователен к оперативной памяти: на неё уходит и PHP, и база, и кеш. Ориентиры для боевого сайта:
| Сайт | Память | Ядра | Диск |
|---|---|---|---|
| Корпоративный, без каталога | 2 ГБ | 2 | 20 ГБ SSD |
| Магазин до 5 000 товаров | 4 ГБ | 2–4 | 40 ГБ SSD |
| Магазин до 50 000 товаров | 8 ГБ | 4 | 80 ГБ SSD |
| Крупный магазин с обменом 1С | 16 ГБ и выше | 8 | 160 ГБ SSD |
Два уточнения. Диск обязательно SSD — на обычных дисках база работает неприемлемо медленно. И считайте запас на обмен с 1С: во время выгрузки потребление памяти резко возрастает.
Из чего состоит настройка
Порядок, при котором ничего не приходится переделывать:
- Базовая безопасность сервера
- Веб-сервер
- PHP нужной версии с расширениями
- База данных
- Кеширование
- SSL-сертификат
- Резервное копирование
- Мониторинг
Подробный разбор установки под Ubuntu есть в отдельном материале Настройка сервера Ubuntu для сайта на Битрикс. Здесь остановимся на том, что специфично именно для Битрикс.
Нужна помощь с Битрикс?
Шаг 1. Безопасность до всего остального
Сервер, выставленный в интернет, начинают перебирать в течение часов. Минимум, который делается сразу:
- Вход по ключу, пароль отключён. Это закрывает подбор пароля как класс проблемы.
- Прямой вход root запрещён. Работаем через отдельного пользователя.
- Нестандартный порт SSH. Не защита, но резко сокращает количество мусорных попыток в логах.
- Файрвол. Открыты только нужные порты: веб и SSH.
- Автоматическая блокировка при переборе паролей.
- Обновления безопасности устанавливаются регулярно.
Первый пункт нельзя откладывать «на потом»: сервер с паролевым доступом и слабым паролем взламывают за считанные дни.
Шаг 2. Веб-сервер
Для Битрикс используют одну из двух схем:
| Схема | Плюсы | Минусы |
|---|---|---|
| Nginx + PHP-FPM | Быстро, экономно по памяти | Правила из .htaccess нужно переносить в конфиг |
| Nginx + Apache | .htaccess работает как есть |
Больше расход памяти |
Первая схема предпочтительнее для нового проекта. Вторая упрощает переезд
сайта, где накопились правила в .htaccess, — их не нужно переписывать.
Шаг 3. PHP
Битрикс требует определённый набор расширений. Ключевые:
mysqli, mbstring, json, zlib, gd,
xml, curl, opcache, zip, intl, fileinfo
Параметры, которые почти всегда приходится поднимать относительно значений по умолчанию:
| Параметр | Рабочее значение | Зачем |
|---|---|---|
memory_limit | 256M и выше | Каталог, обмен, админка |
max_execution_time | 300 | Импорт и обмен |
upload_max_filesize | 64M | Загрузка файлов |
post_max_size | 64M | Должен быть не меньше предыдущего |
max_input_vars | 10000 | Формы админки с множеством полей |
opcache.enable | 1 | Кеширование скомпилированного кода |
Последний параметр даёт заметный прирост скорости и включается почти бесплатно. А если скрипты всё равно обрываются по времени, причины разобраны в статье Maximum execution time exceeded в Битрикс.
Шаг 4. База данных
Настройки по умолчанию рассчитаны на маленький сервер и не используют доступную память. Основной параметр для InnoDB — размер буферного пула: ему обычно отдают до половины оперативной памяти сервера.
Что ещё имеет смысл настроить:
- лимит одновременных соединений с запасом, но без фанатизма;
- лог медленных запросов — он понадобится при первых же тормозах;
- кодировку и правило сравнения, совпадающие с настройками сайта;
- режим совместимости, если версия базы новее, чем ожидает Битрикс.
Про исчерпание соединений и его диагностику есть отдельный материал Too many connections в MySQL на Битрикс.
Шаг 5. Кеширование
На VPS появляется возможность перенести кеш Битрикс из файлов в память. Это одно из самых заметных улучшений производительности:
- Memcached — просто настраивается, покрывает большинство случаев. Разбор есть в статье Настройка Memcached в Битрикс.
- Redis — больше возможностей, переживает перезапуск. Настройка описана в материале Redis для Битрикс.
Альтернатива: BitrixVM
Готовый образ виртуальной машины от разработчиков с уже настроенным окружением и меню управления.
| BitrixVM | Ручная настройка | |
|---|---|---|
| Время запуска | Полчаса | Несколько часов |
| Совместимость | Гарантирована | На вашей ответственности |
| Гибкость | В рамках меню | Полная |
| Другие сайты на сервере | Не предусмотрены | Без ограничений |
| Понимание, как всё устроено | Не требуется | Необходимо |
Если на сервере будет жить один сайт на Битрикс и нет системного администратора — BitrixVM почти всегда правильный выбор. Ручная настройка нужна там, где сервер делят несколько проектов или требуется нестандартная конфигурация.
Что сделать сразу после запуска
- Настроить резервное копирование с выгрузкой за пределы сервера.
- Настроить агенты Битрикс на cron.
- Проверить раздел «Проверка системы» в административной части.
- Прогнать монитор производительности и сохранить исходные показатели.
- Настроить мониторинг доступности и свободного места.
- Проверить отправку почты — на новом сервере другой IP.
Пятый пункт недооценивают. Место на диске кончается тихо: сначала перестают создаваться резервные копии, потом база уходит в режим только для чтения, и сайт падает.
Частые ошибки
- Пароль вместо ключа для SSH. Сервер перебирают круглосуточно.
- Настройки базы по умолчанию. Сервер с 16 ГБ памяти работает так, будто у него два.
- Не включён OPcache. Бесплатное ускорение остаётся неиспользованным.
- Нет мониторинга места. Диск заполняется, сайт падает без предупреждения.
- Резервное копирование не настроено. На хостинге оно было, на VPS его нужно сделать самому.
- Агенты остались на хитах. Одно из главных преимуществ VPS не используется.
Итог
VPS для сайта на 1С-Битрикс — это минимум 4 ГБ памяти и SSD для магазина, плюс настройка восьми составляющих: безопасность, веб-сервер, PHP, база, кеширование, SSL, резервное копирование и мониторинг.
Если системного администратора нет, а сайт один — BitrixVM закрывает задачу за полчаса и снимает вопросы совместимости. Ручная настройка оправдана, когда на сервере несколько проектов или нужна своя конфигурация. В обоих случаях первым делом настраивается доступ по ключу и резервное копирование — всё остальное можно доделать позже.
