Top.Mail.Ru
13 ноября| 18:30 (17:30 МСК)
Формат: офис Programming Store, ТЦ «Аксион»
МИТАП в ИЖЕВСКЕ. "Искусственный интеллект в 1С"

Установка и настройка сервера 1С 8.3 на Ubuntu Server 25.04 с кластером и публикацией базы

В этой статье мы подробно рассмотрим процесс установки и настройки кластера серверов «1С:Предприятие» на базе Ubuntu server 25.04 и подключение к серверу СУБД также на Ubuntu server 25.04 с PostgreSQL.

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

Кластерная архитектура актуальна для компаний с большим количество пользователей и/или  интенсивными нагрузками на систему.

Будем использовать следующую схему:

— главный сервер 1С (Main) – управляет кластером и сессиями;

— рабочий сервер 1С (Worker) – выполняет расчёты и распределяет нагрузку;

— сервер СУБД PostgreSQL – сервер баз данных;

— клиенты – тонкие, толстые и веб-клиенты.

Установка сервера 1С на Ubuntu 25.04

1.1. Подготовка и установка

  1. Скачиваем дистрибутив с официального сайта releases.1c.ru:
    Сервер «1С:Предприятие» (64-bit) для DEB-based Linux-систем.
  2. Загружаем его на сервер (через scp-, sftp- или другой способ).
  3. Делаем файл установки исполняемым:

подключаемся к серверу по ssh и выполняем команду:

chmod +x setup-full-8.3.27.1688-x86_64.run

  1. Далее запускаем установку под полными правами:

sudo ./setup-full-8.3.27.1688-x86_64.run

  1. В мастере установки:
    • выбираем только сервер 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, настроенные для нашего удобства и «знающие», как найти друг друга.


Установка и работа с 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 кластера:

./racclusterlist

Пример вывода:

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С.

Установка Apache и публикация базы

Для организации работы пользователей через web-клиент. Нужно установить web-сервер Apache

Устанавливаем командой:

sudoaptinstallapache2

Настройки apache2 по умолчанию достаточны для работы 1С через web-клиента, поэтому на этом останавливаться не будем. Выполним, что web-сервер запущен, выполнив команду:

sudosystemctlstatusapache2

Если не запущен, то установим автозапуск и запустим сервис командами:

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-клиент.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar