Агент сервера 1С:Предприятия 8.3: служба ragent, первый кластер и открытые порты
Содержание
Агент сервера 1С:Предприятия 8.3 — это служба ragent, которая ставится из полного дистрибутива платформы вместе с компонентом «Сервер 1С:Предприятия». На Windows её создаёт сам установщик (флажок «Установить как сервис Windows
»), на Linux — пакет сервера плюс unit-файл systemd. После первого запуска агент слушает порт 1540, поднимает менеджер кластера на 1541 и рабочие процессы в диапазоне 1560–1591.
Частое заблуждение — искать «агент» как отдельную программу на сайте поставщика. Отдельного дистрибутива нет: чтобы установить и настроить агент сервера, нужна та же версия платформы, что и у клиентов, лицензия на сервер и три открытых порта. Остальное — порядок действий.
Что проверить перед установкой агента сервера
Сервер 1С капризен не к железу, а к окружению. Пять вещей стоит решить до запуска инсталлятора.
- 🖥 Разрядность и ОС. Ставьте 64-битный сервер. Для Windows — Windows Server 2016 и новее, для Linux — дистрибутив из списка поддерживаемых для вашей версии платформы (Ubuntu, Debian, Astra, РЕД ОС, Альт и др.).
- 🔢 Версия платформы. Номер версии сервера и клиентов должен совпадать полностью, вплоть до сборки: клиент 8.3.24.1467 к серверу 8.3.24.1342 не подключится.
- 🌐 Имя хоста. Кластер запоминает сервер по имени, и это имя потом получают клиенты. Имя должно резолвиться с каждого рабочего места в реальный IP — через DNS или файл
hosts. - 🔐 Лицензия. Без серверной лицензии клиенты не смогут работать с базами на этом сервере. Решите заранее: программная лицензия (активируется на самом сервере) или аппаратный ключ HASP.
- 🧱 Порты.
1540(агент),1541(менеджер кластера),1560–1591(рабочие процессы). Если планируете утилитуrac— ещё1545дляras.
Про ресурсы: агент сам по себе лёгкий, нагрузку дают рабочие процессы rphost. Для 10–20 пользователей бухгалтерии ориентировочно хватает 4 ядер и 16 ГБ памяти на сервер 1С, если СУБД стоит на отдельной машине. При СУБД на той же машине памяти нужно заметно больше.
Как установить агент сервера 1С на Windows
Установка из дистрибутива
- Скачайте полный дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows» нужной версии.
- Запустите
setup.exeи в списке компонентов включите «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». Клиент на сервере можно не ставить. - На шаге «Установить сервер 1С:Предприятия как сервис Windows» оставьте флажок включённым.
- Выберите учётную запись: создать пользователя
USR1CV8или указать существующую. Задайте пароль и сохраните его — он понадобится при переустановке службы. - Завершите установку. Защитный драйвер HASP ставьте только если используете аппаратный ключ.
После установки в оснастке services.msc появится служба «Агент сервера 1С:Предприятия 8.3 (x86-64)» в состоянии «Выполняется», а в C:\Program Files\1cv8\srvinfo — каталог реестра кластера.
Как выглядит строка запуска службы
Откройте свойства службы — в поле «Исполняемый файл» будет примерно такая команда:
"C:\Program Files\1cv8\8.3.24.1467\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
Ключ -debug включает отладку на сервере. В рабочем контуре его часто убирают, на тестовом оставляют.
Ручная регистрация службы
Если служба не создалась или её нужно пересоздать с другими параметрами, зарегистрируйте её командой ragent из командной строки администратора:
cd "C:\Program Files\1cv8\8.3.24.1467\bin"
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start
-rmsrvc удаляет старую службу, -instsrvc создаёт новую, -start запускает её.
Удаление и остановка службы агента обрывает все сеансы пользователей на этом сервере. Делайте это вне рабочего времени и после предупреждения пользователей.
У учётной записи службы должно быть право «Вход в качестве службы» и полный доступ к каталогу srvinfo. Если используете не USR1CV8, а доменную учётку, выдайте эти права вручную.
Установка агента сервера 1С на Linux
Пакет сервера (платформа 8.3.20 и новее)
С версии 8.3.20 для Linux выпускается единый установщик setup-full-<версия>-x86_64.run. Сервер ставится в тихом режиме:
chmod +x setup-full-8.3.24.1467-x86_64.run
sudo ./setup-full-8.3.24.1467-x86_64.run --mode unattended --enable-components server,server_admin
Файлы окажутся в /opt/1cv8/x86_64/8.3.24.1467/. Установщик создаёт системного пользователя usr1cv8, от имени которого работает агент.
До установки поставьте шрифты: пакет fontconfig и шрифты Microsoft (в Ubuntu и Debian — ttf-mscorefonts-installer). Без них печатные формы на сервере формируются с другой метрикой шрифтов и «разъезжаются».
Запуск агента как службы systemd
В каталоге версии лежит шаблон unit-файла. Подключите его и запустите экземпляр default:
sudo systemctl link /opt/1cv8/x86_64/8.3.24.1467/srv1cv8-8.3.24.1467@.service
sudo systemctl enable srv1cv8-8.3.24.1467@default
sudo systemctl start srv1cv8-8.3.24.1467@default
sudo systemctl status srv1cv8-8.3.24.1467@default
Порты, диапазон рабочих процессов и каталог данных заданы в unit-файле переменными окружения. Посмотреть их — systemctl cat srv1cv8-8.3.24.1467@default. Менять — через systemctl edit с переопределением нужных строк, а не правкой исходного файла: при обновлении платформы он будет заменён.
Каталог реестра кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8.
Старые версии до 8.3.20
В них сервер ставился deb- или rpm-пакетами 1c-enterprise83-common и 1c-enterprise83-server, а служба запускалась скриптом /etc/init.d/srv1cv83. Параметры (порты, каталог, отладка) задавались в файле /etc/sysconfig/srv1cv83. Если наследуете такой сервер — правьте этот файл и перезапускайте службу скриптом.
Имя хоста — главный подводный камень Linux
Многие дистрибутивы прописывают имя машины в /etc/hosts на адрес 127.0.1.1. Агент запускается, но клиенты получают от кластера имя, которое сервер считает локальным, и подключение рвётся. Проверьте:
hostname
getent hosts $(hostname)
Вторая команда должна вернуть реальный адрес сервера в сети, а не 127.0.1.1.
Регистрация центрального сервера в консоли кластера
Агент работает, но пока его никто не видит. Следующий шаг — подключить его в «Администрирование серверов 1С:Предприятия» (MMC-консоль на Windows).
Если консоль не открывается
Консоль работает через библиотеку radmin.dll. Если оснастка пустая или ругается при запуске, зарегистрируйте библиотеку той версии, что совпадает с сервером:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
То же делает ярлык «Регистрация утилиты администрирования серверов» в меню «Пуск» в папке нужной версии. После обновления платформы регистрацию повторяют — иначе консоль старой версии не подключится к новому агенту.
Добавление сервера
- Откройте консоль, на узле «Центральные серверы 1С:Предприятия» вызовите контекстное меню →
Создать → Центральный сервер 1С:Предприятия. - В поле «Имя» укажите сетевое имя сервера (то самое, что резолвится с клиентов), порт —
1540. - Раскройте сервер → «Кластеры». При первом запуске агент сам создаёт «Локальный кластер» на порту
1541. - В узле «Администраторы» центрального сервера добавьте администратора с паролем. Пока список пуст, управлять агентом может любой, кто дотянется до порта
1540. - В кластере на узле «Информационные базы» создайте новую базу или подключите существующую в СУБД.
Консоль на Windows спокойно управляет агентом на Linux: она ходит напрямую на порт 1540. А вот rac работает только через сервер администрирования ras: его запускают командой ras cluster --daemon, после чего rac cluster list показывает кластеры.
Сам реестр кластера хранится в файле 1CV8Clst.lst в подкаталоге reg_1541 каталога srvinfo. Это главный файл для резервной копии сервера 1С: в нём список баз, рабочие серверы и администраторы.
Порты и параметры запуска агента сервера
Параметры агента одинаковы для Windows и Linux, меняется только место, где их задают.
| Параметр | Значение по умолчанию | Что задаёт |
|---|---|---|
-port | 1540 | Порт агента: к нему подключаются клиенты и консоль |
-regport | 1541 | Порт главного менеджера кластера |
-range | 1560:1591 | Диапазон портов для рабочих процессов и менеджеров |
-d | srvinfo | Каталог реестра кластера и служебных файлов |
-debug | выключен | Разрешает отладку конфигурации на сервере |
Диапазон -range задаёт порты по умолчанию. Позже в консоли его можно переопределить в свойствах рабочего сервера — там же настраивается число рабочих процессов и параметры назначения функциональности.
Два агента разных версий на одной машине
Типичная ситуация при тестировании нового релиза: старая версия работает, новую нужно проверить рядом. Две службы на одних портах не уживутся, поэтому второй агент регистрируют со сдвигом:
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files\1cv8\srvinfo_test"
Клиенты подключаются ко второму агенту как srv1c:2541 — в строке подключения указывают порт менеджера кластера.
Открыть порты в брандмауэре
На Windows (PowerShell от администратора):
New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound -Protocol TCP -LocalPort 1540-1541,1560-1591 -Action Allow
На Linux с ufw:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Открывать порты только для 1540 — частая ошибка. Клиент подключится к агенту, получит адрес рабочего процесса из диапазона и упрётся в закрытый порт.
Как обновить агент на новую версию платформы
Обновление сервера
— это установка новой версии рядом и переключение службы. Кластер и базы при этом сохраняются, потому что живут в srvinfo, а не в каталоге версии.
- Скопируйте каталог
srvinfo(или/home/usr1cv8/.1cv8/1C/1cv8) в резервную копию. - Установите новую версию платформы с компонентом сервера, но службу на этом шаге не создавайте.
- В нерабочее время остановите службу старой версии — сеансы пользователей оборвутся.
- Зарегистрируйте службу новой версии с теми же портами и тем же каталогом
-d. На Linux —systemctl linkиenableдля unit-файла новой версии, а старый экземпляр отключитеsystemctl disable. - Запустите службу, перерегистрируйте
radmin.dllновой версии и обновите клиентов до той же сборки.
Если на сервере используется программная лицензия, после смены версии она обычно остаётся рабочей. Перепроверить её стоит при замене оборудования или смене ОС: программная лицензия привязана к параметрам компьютера.
Агент не стартует или клиенты не видят сервер
Большинство проблем после установки сводится к именам, портам и правам. Начните с проверки, слушает ли агент порты:
netstat -ano | findstr :154
ss -tlnp | grep 154
С клиента доступность проверяется так: Test-NetConnection srv1c -Port 1540 в PowerShell.
На Linux причины остановки ищите в журнале службы: journalctl -u srv1cv8-8.3.24.1467@default -n 100. Права на каталог данных проверяйте у пользователя usr1cv8.
Частые вопросы
Можно ли поставить сервер 1С на ту же машину, что и PostgreSQL или MS SQL?
Нужна ли отдельная лицензия на сервер, если клиентские лицензии уже есть?
Чем агент сервера отличается от рабочего сервера и менеджера кластера?
ragent) — точка входа на порту 1540 и хранитель списка кластеров. Менеджер кластера (rmngr) управляет базами и сеансами. Рабочие процессы (rphost) выполняют код конфигурации.Можно ли запустить агент без службы для проверки?
journalctl на Linux. Ручной запуск от другого пользователя может создать файлы в srvinfo с неправильными правами.Как перенести сервер 1С на другую машину без пересоздания кластера?
srvinfo целиком. Имя нового сервера должно совпадать со старым, иначе клиентам придётся менять строку подключения.