Главная » Администрирование Битрикс » Хостинг » VPS для Битрикс: настройка сервера с нуля

VPS для Битрикс: настройка сервера с нуля

Схема настройки VPS для Битрикс: веб-сервер, PHP, база и кеш в памяти на собственном сервере

Виртуальный хостинг перестаёт справляться примерно на том этапе, когда каталог вырастает до десятков тысяч товаров, а посещаемость — до нескольких тысяч человек в сутки. Дальше начинается 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С: во время выгрузки потребление памяти резко возрастает.

Из чего состоит настройка

Порядок, при котором ничего не приходится переделывать:

  1. Базовая безопасность сервера
  2. Веб-сервер
  3. PHP нужной версии с расширениями
  4. База данных
  5. Кеширование
  6. SSL-сертификат
  7. Резервное копирование
  8. Мониторинг

Подробный разбор установки под 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_limit256M и вышеКаталог, обмен, админка
    max_execution_time300Импорт и обмен
    upload_max_filesize64MЗагрузка файлов
    post_max_size64MДолжен быть не меньше предыдущего
    max_input_vars10000Формы админки с множеством полей
    opcache.enable1Кеширование скомпилированного кода

    Последний параметр даёт заметный прирост скорости и включается почти бесплатно. А если скрипты всё равно обрываются по времени, причины разобраны в статье Maximum execution time exceeded в Битрикс.

    Шаг 4. База данных

    Настройки по умолчанию рассчитаны на маленький сервер и не используют доступную память. Основной параметр для InnoDB — размер буферного пула: ему обычно отдают до половины оперативной памяти сервера.

    Что ещё имеет смысл настроить:

    • лимит одновременных соединений с запасом, но без фанатизма;
    • лог медленных запросов — он понадобится при первых же тормозах;
    • кодировку и правило сравнения, совпадающие с настройками сайта;
    • режим совместимости, если версия базы новее, чем ожидает Битрикс.

    Про исчерпание соединений и его диагностику есть отдельный материал Too many connections в MySQL на Битрикс.

    Шаг 5. Кеширование

    На VPS появляется возможность перенести кеш Битрикс из файлов в память. Это одно из самых заметных улучшений производительности:

    • Memcached — просто настраивается, покрывает большинство случаев. Разбор есть в статье Настройка Memcached в Битрикс.
    • Redis — больше возможностей, переживает перезапуск. Настройка описана в материале Redis для Битрикс.

    Альтернатива: BitrixVM

    Готовый образ виртуальной машины от разработчиков с уже настроенным окружением и меню управления.

    BitrixVM Ручная настройка
    Время запускаПолчасаНесколько часов
    СовместимостьГарантированаНа вашей ответственности
    ГибкостьВ рамках менюПолная
    Другие сайты на сервереНе предусмотреныБез ограничений
    Понимание, как всё устроеноНе требуетсяНеобходимо

    Если на сервере будет жить один сайт на Битрикс и нет системного администратора — BitrixVM почти всегда правильный выбор. Ручная настройка нужна там, где сервер делят несколько проектов или требуется нестандартная конфигурация.

    Что сделать сразу после запуска

    1. Настроить резервное копирование с выгрузкой за пределы сервера.
    2. Настроить агенты Битрикс на cron.
    3. Проверить раздел «Проверка системы» в административной части.
    4. Прогнать монитор производительности и сохранить исходные показатели.
    5. Настроить мониторинг доступности и свободного места.
    6. Проверить отправку почты — на новом сервере другой IP.

    Пятый пункт недооценивают. Место на диске кончается тихо: сначала перестают создаваться резервные копии, потом база уходит в режим только для чтения, и сайт падает.

    Частые ошибки

    • Пароль вместо ключа для SSH. Сервер перебирают круглосуточно.
    • Настройки базы по умолчанию. Сервер с 16 ГБ памяти работает так, будто у него два.
    • Не включён OPcache. Бесплатное ускорение остаётся неиспользованным.
    • Нет мониторинга места. Диск заполняется, сайт падает без предупреждения.
    • Резервное копирование не настроено. На хостинге оно было, на VPS его нужно сделать самому.
    • Агенты остались на хитах. Одно из главных преимуществ VPS не используется.

    Итог

    VPS для сайта на 1С-Битрикс — это минимум 4 ГБ памяти и SSD для магазина, плюс настройка восьми составляющих: безопасность, веб-сервер, PHP, база, кеширование, SSL, резервное копирование и мониторинг.

    Если системного администратора нет, а сайт один — BitrixVM закрывает задачу за полчаса и снимает вопросы совместимости. Ручная настройка оправдана, когда на сервере несколько проектов или нужна своя конфигурация. В обоих случаях первым делом настраивается доступ по ключу и резервное копирование — всё остальное можно доделать позже.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний