Привет! Меня зовут Валерий, я разработчик 1С в Programming Store.
В этой статье мы подробно рассмотрим процесс установки и настройки кластера серверов «1С:Предприятие» на базе Ubuntu server 25.04 и подключение к серверу СУБД также на Ubuntu server 25.04 с PostgreSQL.
Такой подход позволяет обеспечить масштабируемость и гибкость системы.
Кластерная архитектура актуальна для компаний с большим количество пользователей и/или интенсивными нагрузками на систему.
Будем использовать следующую схему:
- главный сервер 1С (Main) – управляет кластером и сессиями;
- рабочий сервер 1С (Worker) – выполняет расчёты и распределяет нагрузку;
- сервер СУБД PostgreSQL – сервер баз данных;
- клиенты – тонкие, толстые и веб-клиенты.
Содержание:
1. Установка сервера 1С на Ubuntu 25.04
2. Установка и работа с RAS/RAC
3. Установка Apache и публикация базы
1. Установка сервера 1С на Ubuntu 25.04
1.1. Подготовка и установка
- Скачиваем дистрибутив с официального сайта releases.1c.ru:
Сервер «1С:Предприятие» (64-bit) для DEB-based Linux-систем. - Загружаем его на сервер (через scp-, sftp- или другой способ).
- Делаем файл установки исполняемым:
подключаемся к серверу по ssh и выполняем команду:
chmod +x setup-full-8.3.27.1688-x86_64.run
- Далее запускаем установку под полными правами:
sudo ./setup-full-8.3.27.1688-x86_64.run
- В мастере установки:
- выбираем только сервер 1С;
- web-сервер ставим только на главный сервер.
Тонкие и толстые клиенты на сервере нам не нужны. Поэтому их не ставим.
1.2. Настройка сервиса и портов
Основные пути, создаваемые при установке:
- исполняемые файлы: /opt/1cv8/x86_64/8.3.27.1688/;
- данные: /1C/1cv8/.
Настроим файл сервиса для нашего удобства.
Открываем файл сервиса в текстовом редакторе nano (возможно, его нужно установить или воспользоваться любым удобным для вас):
sudo nano /opt/1cv8/x86_64/8.3.27.1688/srv1cv8-8.3.27.1688@.service
Меняем путь для хранения данных 1С:
Environment=SRV1CV8_DATA=/1C/1cv8.
Для главного сервера (контур разработки или тестирования) при необходимости включаем отладку:
Environment=SRV1CV8_DEBUG="-debug -http"
Сохраняем и выходим из текстового редактора.
Создаём линк для запуска нашего сервиса, обновляем конфигурацию сервисов, включаем автозапуск сервиса и проверяем статус.
sudo systemctl link /opt/1cv8/x86_64/8.3.27.1688/srv1cv8-8.3.27.1688@.service
sudo systemctl daemon-reload
sudo systemctl enable srv1cv8-8.3.27.1688@default.service
sudo systemctl status srv1cv8-8.3.27.1688@default.service
Видим, что у нас «active (running)» – сервис запущен.
А значение «enabled» после названия нашего сервиса– автозапуск сервиса– включен.
1.3. Настройка /etc/hosts.
Вносим названия наших сервером с ip адресами, чтобы наши сервера «нашли друг друга».
Редактируем файл hosts в текстовом редакторе nano или удобном для вас:
sudo nano /etc/hosts
Добавляем IP и имена серверов:
192.168.0.10 serv1c27
192.168.0.11 serv1c27work
192.168.0.12 servsubd
На 10 ip адресе у нас главный сервер кластера 1С, на 11 рабочий сервер 1С, а на 12 сервер СУБД с установленным PostgreSQL.
Выполняем эти инструкции на двух серверах 1С.
На этом этапе мы получили два сервера 1С, установленные на ubuntu server 25.04, настроенные для нашего удобства и «знающие», как найти друг друга.
2. Установка и работа с RAS/RAC
Переходим к настройки службы и утилиты для управления серверами. Службу установим на наш главный сервер 1С.
Сначала пару слов про инструменты, которые идут в «комплекте» с установкой сервера 1С, но устанавливаются только «ручками».
RAS (Remote Administration Server) – это служба (демон) на стороне сервера 1С, которая принимает команды удалённого администрирования.
RAC (Remote Administration Console)– это консольная утилита для управления сервером 1С и кластерами. Отправляет команды службе ras (локального или удаленного сервера).
2.1. Установка RAS
На главном сервере создаём линк сервиса, перечитываем службы, включаем автозапуск и проверяем статус:
sudo systemctl link /opt/1cv8/x86_64/8.3.27.1688/ras-8.3.27.1688.service
sudo systemctl daemon-reload
sudo systemctl enable ras-8.3.27.1688.service
sudo systemctl status ras-8.3.27.1688.service
2.2. Использование RAC для добавление рабочего сервера в кластер 1С
Заходим на наш main сервер 1С по ssh.
Переходим по пути установки 1С:
cd /opt/1cv8/x86_64/8.3.27.1688/
Воспользуемся утилитой RAC и добавим наш второй сервер 1С как рабочий в наш кластер 1С.
Для начала требуется получить UUID кластера:
./rac cluster list
Пример вывода:
cluster: c41931a3-1f2c-4d36-b6df-868d08901197
name: “Local cluster”
host: serv1c27
port: 1541
Сохраняем себе UUID кластера: он нам далее понадобится.
Добавляем рабочий сервер командой:
./rac server --cluster= c41931a3-1f2c-4d36-b6df-868d08901197 \
insert --agent-host=serv1c27 --agent-port=1540 \
--port-range=1560:1591 --name=serv1c27worker \
--using=normal --cluster-port=1541
Разберем параметры команды.
server – режим управления серверами кластера 1С.
--cluster – это UUID нашего кластера, в который добавляем сервер 1С, получили выше командой cluster list.
insert – команда, что мы добавляем сервер к нашему кластеру.
--agent-host – имя нашего сервера 1С, который мы прописали в файле hosts.
--agent-port –порт нашего ragent на сервере (по умолчанию 1540)
--port-range – диапазон портов, с которым будет работать наш сервер (для каждого сервера свой)
--name – это просто название, как он будет называться в списке серверов кластера.
--using – это режим сервера, normal, означает, что сервер будет рабочий, main – главным. В нашем случае это normal – рабочий сервер.
--cluster-port – порт кластера, получили командой cluster list.
После выполнения данной команды в консоли будет указан UUID добавленного сервера.
Проверяем, что у нас теперь 2 сервера в кластере, выполним команду:
./rac server --cluster=c41931a3-1f2c-4d36-b6df-868d08901197 list
Видим, что у нас два сервера в кластере: первый указан using-main, а второй using-normal.
Теперь проверим процессы, что новый процесс для рабочего сервера запустился, выполним команду:
./rac process --cluster=c41931a3-1f2c-4d36-b6df-868d08901197 list
Видим два процесса по одному каждому серверу.
У каждого turned-on – yes и running -yes.
Итого мы добавили второй сервер в наш кластер серверов как рабочий сервер. Процессы запущены и готовы к работе.
2.3 Добавление базы данных в кластер 1С.
Для создания новой информационной базы используем режим управления консолью infobase. Создадим новую базу 1С и добавим в кластер, выполним команду.
./rac infobase --cluster=c41931a3-1f2c-4d36-b6df-868d08901197 create \
--create-database --name=test --dbms=PostgreSQL \
--db-server=”servsubd port=5433” --db-name=testdb --locale=ru \
--db-user=usersubd --db-pwd=passusersubd \
--descr="Тестовая база"
Разберем параметры команды:
infobase – режим управления базами данных.
--cluster – UUID нашего кластера, базами которого будем управлять.
create – команда создания базы данных 1С.
--create-database – при указании этого параметра база данных в СУБД будет создана, при отсутствии, если не указать, – выдаст ошибку «база данных не существует».
--name – имя базы данных в кластере 1С.
--dbms – указываем, с какой системой СУБД мы работаем, в нашем случае это PostgreSQL.
--db-server – это имя нашего сервера СУБД, указанный в файле host. Важное уточнение: если на сервере СУБД порт, отличный от порта по умолчанию (в нашем случае 5432 для PostgreSQL, то для параметра пишем так: “servsubd port=5433”.
--db-name – имя базы данных на сервере СУБД
--locale – с какой локалью будет создана база на сервере СУБД, в нашем случае ru.
--db-user – пользователь сервера СУБД.
--db-pwd – пароль пользователя сервера СУБД.
--desсr – описание базы 1С в кластере.
После выполнения команды получим сообщение с UUID созданной базы 1С.
Итого мы создали новую информационную базу и добавили в кластер 1С.
3. Установка Apache и публикация базы.
Для организации работы пользователей через web-клиент. Нужно установить web-сервер Apache
Устанавливаем командой:
sudo apt install apache2
Настройки apache2 по умолчанию достаточны для работы 1С через web-клиента, поэтому на этом останавливаться не будем. Выполним, что web-сервер запущен, выполнив команду:
sudo systemctl status apache2
Если не запущен, то установим автозапуск и запустим сервис командами:
sudo systemctl enable apache2
sudo systemctl start apache2
Ну а далее переходим в папку установки 1С:
cd /opt/1cv8/x86_64/8.3.27.1688/
Для публикации базы воспользуемся инструментом из поставки 1С и выполним команду:
sudo ./webinst -publish -apache24 -wsdir test \
-dir /var/www/html/test \
-connstr "srvr=serv1c27;ref=test;"
Описание параметров:
-publish – режим опубликовать;
-apache24 – публикация Веб-клиента для Apache 2.4;
-wsdir – виртуальный каталог (имя базы которое будем указывать в браузере для подключения);
-connstr – строка соединения ИБ (пример "Srvr=serv1c27;Ref=test;").
Проверяем: открываем веб браузер и вводим. В нашем случае указываем ip адрес, потому что мы не настраивали наш apache2:
http://192.168.0.10/test
У нас должно начаться подключение к базе 1С.
Готово:
- выполнили установку сервера 1С на два сервера с операционной системой ubuntu server 25.04;
- познакомились с утилитой ras и консолью rac;
- в кластер 1с подключили второй сервер как рабочий, утилитой rac;
- создали и добавили новую информационную базу в кластер сервера, используя утилиту rac;
- установили web сервер apache2;
- опубликовали нашу информационную базу на web сервере для доступа через браузер и web-клиент.
Вступайте в нашу телеграмм-группу Инфостарт