Top.Mail.Ru
Установка 1С-Битрикс на ARM-сервер Kunpeng 920: пошаговое руководство | Блог Serverflow Скачать
прайс-лист
Бесплатная
доставка по РФ
Скидка
за отзыв!
Из-за нестабильности цен RAM фактическая стоимость может отличаться. Цена подтверждается после оформления заказа, работаем над обновлением цен!
Distribution of
Server Components
8 (800) 222-70-01 Консультация IT-специалиста Сравнение

Установка “1С-Битрикс” на ARM-сервер Kunpeng 920: подробное руководство

~ 15 мин
383
Средний
Гайды
Установка “1С-Битрикс” на ARM-сервер Kunpeng 920: подробное руководство

Введение

Как известно, ARM-процессоры активно захватывают рынок серверных решений, обеспечивая большую энергоэффективность, чем чипы x86, при этом предлагая конкурентоспособный уровень производительности. Но несмотря на столь активно растущую популярность, многие пользователи все еще не воспринимают ARM-сервера всерьез, не находя им достойных сценариев использования. Сегодня специалисты компании ServerFlow развеят все мифы о ARM-чипах, подробно рассказав вам, как как установить популярную CMS “1С-Битрикс: Управление сайтом” на сервер с центральными процессорами Huawei Kunpeng 920

Трудности развертывания 1С-Битрикс на ARM-сервере

У нас есть два варианта установки 1С-Битрикс на ARM-железо:
  • Использовать готовое веб-окружение BitrixVM. Эта заранее настроенная среда устанавливается всего за одну команду, но она совместима только с операционной системой CentOS stream 9.
  • Собрать собственное окружение “Битрикс” вручную, установив и настроив все необходимые компоненты. Это займет больше времени, но взамен вы получите полный контроль над системой и все компоненты будут совместимы друг с другом. Также важно понимать, что в отличии от готового окружения, у вас не будет доступа к консольному меню, но у этого есть свои преимущества.
В рамках нашего теста мы выбрали именно второй вариант, поскольку CentOS и almalinux не запустились на процессорах Huawei Kunpeng 920, а oracle linux загрузился, но по каким-то причинам не смог найти сетевые карты в системе. При сборке собственного окружения мы не ограничены выбором ОС, поэтому выбор пал на дистрибутив Debian 13, который отлично зарекомендовал себя при использовании в системах на базе оборудования Huawei. 

Пути установки 1С-Битрикс на ARM-сервер
Два пути установки 1С-Битрикс на ARM-сервер.

Шаг 1: Подготовка системы и установка пакетов

В первую очередь, нужно обновить списки пакетов и установить все компоненты, которые потребуются для работы веб-сервера и CMS 1С-Битрикс. Вот какие компоненты нам понадобятся:
  • Веб-серверы Nginx и Apache2;
  • Интерпретатор PHP актуальной версии + все необходимые модули;
  • СУБД MariaDB;
  • Сервер Redis;
  • Дополнительные утилиты.
Важно упомянуть, что мы используем связку Nginx + Apache2 не просто так. Nginx будет выступать в роли фронтенд-прокси (отдавать статику, терминировать SSL), а Apache2 — в роли бэкенда для выполнения PHP-скриптов. Такая комбинация является де-факто стандартом для развертывания “1С-Битрикс”.

Для обновления пакетов введите команду: 

sudo apt update

Для установки компонентов введите команду:

sudo apt install -y nginx apache2 php8.3 php8.3-cli php8.3-common php8.3-dev php8.3-gd php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-xml php8.3-zip php8.3-ldap php8.3-intl php-pear mariadb-server mariadb-common nodejs npm redis-server mc wget curl vim htop unzip

Шаг 2: Создание структуры каталогов и настройка прав

Затем нужно создать корневую директорию для будущего сайта и логов PHP. Лучше всего на этом же этапе назначить правильные права, чтобы веб-сервер уже работать с файлами. Директория создается с помощью этой команды:

sudo mkdir -p /var/www/html/bx-site

Затем введите команду для создания каталога лог-файлов PHP:


sudo mkdir /var/log/php

Чтобы назначить владельцем пользователя и группу www-data, введите команду:

sudo chown www-data:www-data /var/www/html/bx-site
sudo chown -R www-data:www-data /var/log/php

Шаг 3: Конфигурация веб-серверов и PHP

Очень удобно, что разработчики CMS “1С-Битрикс” подготовили типовые конфигурационные файлы для дистрибутива Debian — это значительно упрощает развертывание платформы в системе на базе ARM-чипов. Для начала перейдите в домашнюю директорию через команду cd ~, после чего скачайте архив с конфигурационными файлами командой:

wget https://dev.1c-bitrix.ru/docs/chm_files/debian.zip

Затем распакуйте файлы командой:

unzip debian.zip

После этого скопируйте конфигурации в системные каталоги с помощью rsync: 

sudo rsync -av ~/debian/nginx/ /etc/nginx/
sudo rsync -av ~/debian/php.d/ /etc/php/8.3/mods-available/
sudo rsync -av ~/debian/apache2/ /etc/apache2/
sudo rsync -av ~/debian/mysql/ /etc/mysql/

Настройка взаимодействия Nginx и Apache

Официальная конфигурация от “Битрикс” использует внутренние имена httpd и push для проксирования запросов. Добавьте их в файл /etc/hosts, чтобы система знала, что эти имена соответствуют локальному адресу:

echo "127.0.0.1 httpd push" | sudo tee -a /etc/hosts

Настройка PHP

Следующий этап — создать символические ссылки на конфигурационный файл zbx-bitrix.ini для Apache и CLI. Благодаря этому система будет применять рекомендованные “Битрикс” настройки PHP:

sudo ln -sf /etc/php/8.3/mods-available/zbx-bitrix.ini /etc/php/8.3/apache2/conf.d/99-bitrix.ini
sudo ln -sf /etc/php/8.3/mods-available/zbx-bitrix.ini /etc/php/8.3/cli/conf.d/99-bitrix.ini

Настройка Apache

Теперь нужно отключить стандартный модуль autoindex, который показывает содержимое каталогов, и включим необходимые для работы CMS модули rewrite и php. 

Листинг директорий отключается командой:

sudo a2dismod --force autoindex

Необходимые модули включаются командами:

sudo a2enmod rewrite
sudo a2enmod php8.3

Теперь важно перезапустить сервисы, чтобы применить новые настройки. Это выполняется командой:

sudo systemctl restart apache2
sudo systemctl restart nginx

После этого включите автозапуск сервисов при старте системы, введя:

sudo systemctl enable apache2
sudo systemctl enable nginx

Теперь проверьте, что Nginx отвечает на локальные запросы:

curl http://127.0.0.1

Вы должны увидеть стандартную страницу приветствия Nginx. Если все работает правильно, переходим к следующему этапу.

Шаг 4: Настройка базы данных MariaDB

База данных —один из важнейших компонентов будущего веб-сервера. Для ее развертывания запустите скрипт безопасной установки MariaD, введя команду:

sudo mariadb_secure_installation

Этот скрипт позволит задать пароль для root-пользователя, удалить тестовые базы данных и всех анонимных пользователей. Следуйте всем инструкциям менеджера установки и обязательно задайте надежный пароль, чтобы исключить несанкционированный доступ к вашей базе данных. После этого запустите и добавьте MariaDB в автозагрузку:

sudo systemctl enable --now mariadb

Теперь создайте базу данных и пользователя для нашего сайта. Для этого зайдите в оболочку MariaDB под пользователем root:

sudo mariadb -u root -p

Внутри оболочки выполните SQL-команды:

CREATE DATABASE bx_portal DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
CREATE USER 'bitrix_user'@'localhost' IDENTIFIED BY 'Your_Strong_Password'
GRANT ALL PRIVILEGES ON bx_portal.* TO 'bitrix_user'@'localhost'
FLUSH PRIVILEGES
EXIT

Важно изменить параметры bx_portal, bitrix_user и Your_Strong_Password на ваши собственные значения.

Шаг 5: Настройка Redis

СУБД Redis используется в «Битрикс» для кеширования и является критически важным компонентом для работы Push-сервера. Чтобы настроить Redis, скопируйте рекомендованную конфигурацию:

sudo rsync -av ~/debian/redis/redis.conf /etc/redis/redis.conf

Добавьте пользователя redis в группу www-data:

sudo usermod -a -G www-data redis

Настройте права доступа к каталогам Redis командой:

sudo chown -R redis:www-data /etc/redis /var/log/redis /var/lib/redis

Создайте дополнительную конфигурацию для systemd:

sudo mkdir -p /etc/systemd/system/redis-server.service.d
echo -e '[Service]\nGroup=www-data' | sudo tee /etc/systemd/system/redis.service.d/custom.conf

В конце перечитайте конфигурацию systemd, и если все указано верно, перезапустите Redis командой:

sudo systemctl daemon-reload
sudo systemctl enable --now redis-server.service

Запуск 1С-Битрикс на ARM-сервере
Запуск 1С-Битрикс на веб-сервере с ARM-процессорами Huawei Kunpeng 920.

Шаг 6: Установка и настройка Push-сервера

За всеми интерактивными элементами вашего будущего сайта, вроде мгновенных уведомлений и онлайн-чата, будет стоять Push-сервер. Чтобы установить и настроить Push-сервер, перейдите в директорию /opt командой cd /opt, после чего скачайте архив с Push-сервером:

sudo wget https://repo.bitrix24.tech/vm/push-server-0.4.0.tgz

Затем устанавливаем его с помощью npm (ключ --omit=dev исключает пакеты для разработки) командой:

sudo npm install --omit=dev ./push-server-0.4.0.tgz

Теперь создайте символические ссылки для удобства управления сервером:

sudo ln -sf /opt/node_modules/push-server/etc/push-server /etc/push-server
sudo ln -sf /opt/node_modules/push-server /opt/push-server

Скопируйте управляющий скрипт и файлы сервиса:

sudo cp /opt/push-server/etc/init.d/push-server-multi /usr/local/bin/
sudo mkdir -p /etc/sysconfig
sudo cp /opt/push-server/etc/sysconfig/push-server-multi /etc/sysconfig/
sudo cp /opt/push-server/etc/push-server/push-server.service /etc/systemd/system/

Конфигурация Push-сервера

Важно отредактировать файл /etc/sysconfig/push-server-multi и задать новые ключевые параметры. Для этого откройте файл командой sudo vim /etc/sysconfig/push-server-multi и установите следующие значения:

SECURITY_KEY: секретный ключ для подписи. Сгенерируйте его командой
cat /dev/urandom |tr -dc A-Za-z0-9 | head -c 128.
RUN_DIR: /var/run/push-server.
USER: bitrix.
GROUP: www-data.
REDIS_SOCK: /var/run/redis/redis-server.sock.

Создание пользователя и настройка окружения

Создайте пользователя bitrix для запуска сервиса:

sudo useradd -g www-data bitrix

Создайте и настройте каталог логов:

sudo mkdir -p /var/log/push-server
sudo chown bitrix:www-data /var/log/push-server

Теперь сгенерируйте конфигурационные файлы для подписчиков и публикаторов:

sudo /usr/local/bin/push-server-multi configs pub
sudo /usr/local/bin/push-server-multi configs sub

Затем настройте создание временных каталогов при загрузке:

echo 'd /tmp/push-server 0770 bitrix www-data -' | sudo tee /etc/tmpfiles.d/push-server.conf
sudo systemd-tmpfiles --remove --create

Запуск сервиса Push-сервера

Осталось внести последние правки в systemd-unit файл, чтобы указать правильного пользователя и путь к скрипту. Для этого отредактируйте:

/etc/systemd/system/push-server.service
sudo vim /etc/systemd/system/push-server.service

[Service]
User=bitrix
Group=www-data
ExecStart=/usr/local/bin/push-server-multi systemd_start
ExecStop=/usr/local/bin/push-server-multi stop

Перезагрузите конфигурацию systemd и запустите Push-сервер командой:

sudo systemctl daemon-reload
sudo systemctl enable --now push-server

Шаг 7: Запуск установки «1С-Битрикс»

Вы почти у цели — все подготовительные этапы и настройки выполнены, вам осталось только скачать установочный скрипт bitrixsetup.php и запустить веб-инсталлятор, чтобы сайт на ARM-сервере заработал. Для этого перейдите в корневую директорию сайта командой:

cd /var/www/html/bx-site

Затем скачайте скрипт установки:

sudo wget https://www.1c-bitrix.ru/download/scripts/bitrixsetup.php

Установите права доступа на всю директорию сайта:

sudo chown -R www-data:www-data /var/www/html/bx-site

Теперь откройте в браузере IP-адрес или доменное имя вашего сервера, добавив в конце /bitrixsetup.php. Например: http://your_server_ip/bitrixsetup.php. Далее следуйте шагам рекомендациям менеджера установки, где вам потребуется ввести данные для подключения к базе данных, которые вы указали в Шаге 4.

Нагрузка на CPU Kunpeng 920
Нагрузка на центральные процессоры Kunpeng 920 при запуске 1С-Битрикс.

Результаты нагрузочного теста ARM-сервера через утилиту Locust
Результаты нагрузочного теста ARM-сервера через утилиту Locust, где имитируется нагрузка в 1000 пользователей.

Выводы

На этом все — вы успешно установили и настроили «1С-Битрикс: Управление сайтом» на ARM-сервере Kunpeng 920, несмотря на сопутствующие сложности в лице отсутствия готового окружения. Благодаря ручной установки, вы получили полный контроль над конфигурацией, что позволило запустить проект на альтернативных серверных процессорах с энергоэффективной, производительной архитектурой ARM, что свидетельствует о готовности этой платформы использоваться для создания полноценных коммерческих приложений.
Автор: Serverflow Serverflow
Поделиться

Комментарии 1

Написать комментарий
Шурин
Связка Nginx+Apache это лишняя прослойка; логичнее nginx+php-fpm без Apache.
Serverflow
Для 1С-Битрикс это штатная схема: nginx фронт, Apache бэкенд, и официальные конфиги из архива как раз под неё, поэтому меньше рисков рассинхрона и быстрее ввод в эксплуатацию :)
Написать отзыв
До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Написать комментарий

Комментарий появится на сайте после предварительной модерации

До 6 фото, размером до 12Мб каждое
Мы получили ваш отзыв!

Он появится на сайте после модерации.

Мы свяжемся с вами утром

График работы: Пн-Пт 10:00-18:30 (по МСК)

Обработаем вашу заявку
в ближайший рабочий день

График работы: Пн-Пт 10:00-18:30 (по МСК)