Развертывание 1С-Битрикс в Selectel

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Развертывание 1С-Битрикс в Selectel
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Развертывание 1С-Битрикс в Selectel

Selectel — один из старейших российских хостинг-провайдеров с собственными дата-центрами в Санкт-Петербурге и Москве. Отличается хорошей документацией, предсказуемым ценообразованием и поддержкой, которая реально отвечает. Для Битрикс-проектов Selectel предлагает виртуальные серверы (VPS/VDS), выделенные серверы, облачные серверы и объектное хранилище (S3-совместимое).

Варианты размещения в Selectel

Вариант Когда подходит
Виртуальный сервер (VPS) Малый и средний трафик, бюджетные проекты
Облачный сервер Нужна гибкость ресурсов, почасовая оплата
Выделенный сервер Высокий трафик, требования к производительности
Managed Kubernetes Микросервисная архитектура, масштабирование

Для большинства Битрикс-проектов — облачный сервер с Объектным хранилищем для файлов и выделенной базой данных (MySQL на отдельном сервере или Managed DB).

Создание облачного сервера

Selectel имеет удобный CLI (slc) и веб-панель. Через панель:

  1. Облако → Серверы → Создать сервер.
  2. Образ: Ubuntu 22.04 LTS.
  3. Конфигурация: от 2 vCPU / 4 GB RAM для старта.
  4. Диск: SSD local-fast (NVMe) — максимальная скорость I/O, важно для Битрикс.
  5. Сеть: публичный IP + приватная сеть для связи с базой.

Через CLI:

slc cloud server create \
  --name bitrix-web \
  --flavor sl1.2.20 \
  --image ubuntu-22.04-202312 \
  --root-password YOUR_STRONG_PASSWORD \
  --network public,private

Стек ПО: nginx + PHP-FPM

# Обновить систему
apt update && apt upgrade -y

# Nginx
apt install -y nginx

# PHP 8.1 (Битрикс поддерживает до 8.2)
add-apt-repository ppa:ondrej/php -y
apt install -y php8.1-fpm php8.1-mysql php8.1-curl php8.1-gd \
  php8.1-mbstring php8.1-xml php8.1-zip php8.1-bcmath \
  php8.1-intl php8.1-soap php8.1-redis php8.1-opcache php8.1-imagick

Конфигурация nginx для Битрикс — использовать официальный bitrix-nginx.conf от 1С или написать вручную:

server {
    listen 443 ssl http2;
    server_name example.ru;
    root /var/www/bitrix/public_html;

    ssl_certificate     /etc/letsencrypt/live/example.ru/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.ru/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;

    client_max_body_size 100m;
    client_body_timeout 120s;

    # Статика — напрямую
    location ~* \.(css|js|png|jpg|gif|ico|svg|woff2)$ {
        expires 30d;
        add_header Cache-Control "public, immutable";
    }

    # Закрытые папки Битрикс
    location ~ /\.ht { deny all; }
    location ~ /bitrix/modules/ { deny all; }
    location ~ /bitrix/php_interface/ { deny all; }
    location ~ /bitrix/tools/ { deny all; }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_read_timeout 120;
        include fastcgi_params;
    }
}

База данных: MySQL на отдельном сервере

Selectel не предоставляет Managed MySQL как Яндекс.Облако — только виртуальные и выделенные серверы. Поэтому вариантов два:

A. MySQL на отдельном облачном сервере:

# На сервере базы данных
apt install -y mysql-server-8.0
mysql_secure_installation

# Создать базу и пользователя
mysql -e "CREATE DATABASE bitrix CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"
mysql -e "CREATE USER 'bitrix'@'10.0.1.%' IDENTIFIED BY 'PASSWORD';"
mysql -e "GRANT ALL ON bitrix.* TO 'bitrix'@'10.0.1.%';"

B. Managed DB через Selectel (доступна через партнёрские сервисы).

Важные параметры MySQL для Битрикс (/etc/mysql/mysql.conf.d/mysqld.cnf):

[mysqld]
innodb_buffer_pool_size = 2G
innodb_log_file_size    = 512M
innodb_flush_log_at_trx_commit = 2
query_cache_type        = 0
max_connections         = 300
slow_query_log          = 1
slow_query_log_file     = /var/log/mysql/slow.log
long_query_time         = 2
character-set-server    = utf8mb4
collation-server        = utf8mb4_unicode_ci

Объектное хранилище для файлов

Selectel Object Storage совместим с S3 API, endpoint — s3.storage.selcloud.ru.

# Установка s3cmd
apt install -y s3cmd

# Настройка
s3cmd --configure
# host_base = s3.storage.selcloud.ru
# host_bucket = %(bucket)s.s3.storage.selcloud.ru

# Создать бакет
s3cmd mb s3://bitrix-files

Для монтирования /upload/ через s3fs — аналогично другим облакам, с указанием endpoint Selectel.

Альтернатива — использовать rsync для синхронизации /upload/ между несколькими серверами, если объектное хранилище избыточно для проекта.

Redis для кэша и сессий

# Redis на том же сервере (небольшой проект) или на отдельном
apt install -y redis-server

# /etc/redis/redis.conf — для внутреннего использования
bind 10.0.1.5     # Приватный IP сервера приложений
requirepass YOUR_REDIS_PASSWORD
maxmemory 1gb
maxmemory-policy allkeys-lru

SSL-сертификат через Certbot

apt install -y certbot python3-certbot-nginx
certbot --nginx -d example.ru -d www.example.ru

# Автообновление
echo "0 3 * * * root certbot renew --quiet" > /etc/cron.d/certbot

Сетевой экран Selectel

В Selectel группы безопасности (firewall) настраиваются в панели или через API. Минимальные правила:

Входящие:
80/tcp  — 0.0.0.0/0  (HTTP, редирект на HTTPS)
443/tcp — 0.0.0.0/0  (HTTPS)
22/tcp  — YOUR_OFFICE_IP/32

Между серверами (приватная сеть):
3306/tcp — только от веб-сервера
6379/tcp — только от веб-сервера

Мониторинг и бэкапы

Бэкапы в Selectel:

  • Снапшоты дисков — через панель или API, по расписанию (нужно настраивать скриптом).
  • Бэкапы базы через mysqldump в cron + upload в Object Storage.
#!/bin/bash
# /etc/cron.daily/bitrix-backup
BACKUP_DIR="/tmp/db_backup"
DATE=$(date +%Y%m%d_%H%M)
mkdir -p $BACKUP_DIR

mysqldump -h 10.0.1.10 -u bitrix -pPASSWORD bitrix | gzip > "$BACKUP_DIR/db_$DATE.sql.gz"
s3cmd put "$BACKUP_DIR/db_$DATE.sql.gz" s3://bitrix-backups/db/
find $BACKUP_DIR -mtime +1 -delete

Сроки развертывания

Вариант Состав Срок
Один сервер nginx + PHP + MySQL на одной VM 1 день
Разделённая инфраструктура Веб + отдельная БД + Redis 2–3 дня
С Object Storage и мониторингом + S3, SSL, бэкапы, firewall 3–5 дней