Служба ragent: где она живёт и как задать ей порты, каталог и учётную запись
Содержание
Агент сервера 1С — это программа ragent.exe, которая в Windows лежит в папке C:\Program Files\1cv8\<номер версии>\bin\ и работает как служба с именем вида «Агент сервера 1С:Предприятия 8.3 (x86-64)». Найти её проще всего в оснастке services.msc, а настраивают агент через параметры командной строки службы: порты, каталог кластера, уровень безопасности.
Типичная ситуация: после обновления платформы пользователи видят ошибку подключения к серверу, консоль кластера пустая, а администратор не помнит, какая версия агента вообще запущена. Ниже — где искать службу и файлы, как читать и менять её настройки в Windows и Linux и что проверять, если агент не стартует.
Все пути и команды даны для платформы 8.3 в клиент-серверном варианте. В файловом варианте агента сервера нет вовсе: его ставят только вместе с «Сервером 1С:Предприятия».
Где на диске лежат файлы агента сервера
Агент состоит из исполняемого файла и рабочего каталога кластера. Это две разные папки, и путать их нельзя.
| Что | Windows (64 бит) | Linux (64 бит) |
|---|---|---|
| Исполняемый файл агента | C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe | /opt/1cv8/x86_64/8.3.xx.xxxx/ragent |
| Менеджер кластера | rmngr.exe в той же папке | rmngr в той же папке |
| Рабочий процесс | rphost.exe в той же папке | rphost в той же папке |
| Каталог кластера по умолчанию | C:\Program Files\1cv8\srvinfo | /home/usr1cv8/.1cv8/1C/1cv8 |
Если стоит 32-разрядный сервер, ищите в C:\Program Files (x86)\1cv8\. На одной машине бывает несколько версий платформы в соседних папках. Работает при этом та, на которую указывает служба, а не самая свежая.
Внутри каталога кластера (srvinfo) лежат:
- 📁
reg_1541— данные кластера, где 1541 — порт менеджера; - 📄
1CV8Clst.lstв этой папке — реестр кластера: список баз, рабочих серверов, администраторов; - 📄
1cv8wsrv.lstв корне srvinfo — список кластеров, известных агенту; - 📁 папки
snccntx…— сеансовые данные, их иногда чистят при «зависших» сеансах.
Не удаляйте и не правьте 1CV8Clst.lst вручную. Без него кластер «забывает» все зарегистрированные базы. Перед любыми действиями с srvinfo остановите службу и сделайте копию всей папки.
Как найти службу агента и проверить, что она работает
Через оснастку «Службы»
- Нажмите
Win + R, введитеservices.msc. - Отсортируйте список по имени и найдите строку, начинающуюся с «Агент сервера 1С:Предприятия 8.3». В английской Windows или при старой установке она может называться
1C:Enterprise 8.3 Server Agent. - Посмотрите столбцы «Состояние» и «Тип запуска»: для рабочего сервера нужны «Выполняется» и «Автоматически».
- Откройте свойства службы. В поле «Исполняемый файл» видна полная командная строка: путь к
ragent.exe(из него понятна версия), порты и каталог кластера.
Через диспетчер задач
На вкладке «Подробности» ищите процессы ragent.exe, rmngr.exe и rphost.exe. Если в списке есть ragent.exe, но нет rmngr.exe — агент запустился, а кластер не поднялся. Это уже повод смотреть журнал (см. раздел о диагностике).
Добавьте в диспетчере столбец «Командная строка» — так видно, какую версию запустили, даже без доступа к оснастке служб.
Из командной строки
sc query type= service state= all | findstr /i "1C"
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"
Первая команда покажет точное системное имя службы, вторая — её конфигурацию, включая путь к исполняемому файлу и учётную запись. Подставьте во вторую то имя, которое вернула первая.
Проверить, слушает ли агент порт:
netstat -ano | findstr :1540
Строка со статусом LISTENING и PID, совпадающим с ragent.exe, значит, что агент принимает подключения.
Какие параметры запуска есть у агента и где их менять
Типичная командная строка службы выглядит так:
"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
Что означает каждый ключ:
| Параметр | Назначение | Значение по умолчанию |
|---|---|---|
-srvc | запуск в режиме службы | — |
-agent | процесс работает как агент сервера | — |
-port | порт агента, к нему обращаются клиенты и консоль | 1540 |
-regport | порт менеджера главного кластера | 1541 |
-range | диапазон портов для рабочих процессов | 1560:1591 |
-d | путь к каталогу кластера (srvinfo) | см. таблицу выше |
-debug | разрешает отладку на этом сервере | выключено |
-seclev | уровень защищённости соединения: 0, 1 или 2 | 0 |
Клиент сначала стучится к агенту на 1540, тот направляет его к менеджеру кластера на 1541, а уже менеджер — к рабочему процессу из диапазона 1560–1591. Поэтому все три значения связаны и меняются вместе.
Способ 1. Переустановить службу с новыми параметрами
Самый чистый путь — штатные ключи самого ragent.exe. Командная строка запускается от имени администратора, служба перед этим останавливается.
cd "C:\Program Files\1cv8\8.3.24.1467\bin"
ragent.exe -stop
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "ПарольСлужбы" -regport 2541 -port 2540 -range 2560:2591 -d "D:\1C\srvinfo2" -debug
ragent.exe -start
Здесь второй экземпляр сервера переведён на порты 25xx и собственный каталог. Именно так на одной машине держат два кластера разных версий.
Способ 2. Поправить строку запуска в реестре
Строка хранится в параметре ImagePath раздела:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<системное имя службы>
Её можно отредактировать в regedit или командой sc config <имя> binPath= "…". После правки службу нужно перезапустить.
Сменить версию агента при обновлении платформы проще всего так: в ImagePath замените номер версии в пути на новый. Остальные параметры и каталог srvinfo останутся прежними, базы не придётся регистрировать заново.
Учётная запись службы
Установщик по умолчанию создаёт локального пользователя USR1CV8 и запускает службу от его имени. Ему нужно право «Вход в качестве службы» и полный доступ к каталогу srvinfo и к папкам, куда пишется технологический журнал. Если базы лежат на MS SQL или PostgreSQL на этом же сервере, отдельных прав к СУБД учётке агента не нужно — подключение к СУБД идёт по логину, указанному в свойствах информационной базы.
Остановка или перезапуск службы агента обрывает сеансы всех пользователей всех баз кластера. Делайте это вне рабочего времени или после предупреждения в чате компании.
Чем отличается агент сервера в Windows и в Linux
Сама программа одна и та же, различается обвязка.
| Что | Windows | Linux |
|---|---|---|
| Запуск и автостарт | служба Windows | юнит systemd (в старых версиях — скрипт /etc/init.d/srv1cv83) |
| Пользователь | USR1CV8 | usr1cv8 |
| Где параметры | ImagePath в реестре | файл юнита или конфиг скрипта |
| Проверка статуса | services.msc, sc query | systemctl status |
| Порты | 1540 / 1541 / 1560–1591 | те же |
В актуальных версиях платформы вместе с сервером в папке версии лежит шаблон юнита вида srv1cv8-8.3.xx.xxxx@.service. Его подключают и включают так:
sudo systemctl link /opt/1cv8/x86_64/8.3.24.1467/srv1cv8-8.3.24.1467@.service
sudo systemctl enable --now srv1cv8-8.3.24.1467@default
systemctl status srv1cv8-8.3.24.1467@default
Порты и каталог задают переменными окружения юнита или через systemctl edit, не правя исходный файл. В старых установках со скриптом srv1cv83 параметры лежат в /etc/default/srv1cv83 (Debian, Ubuntu) или /etc/sysconfig/srv1cv83 (RHEL-семейство).
Проверить порты в Linux:
ss -tlnp | grep -E '1540|1541'
Почему агент сервера не запускается: диагностика
Начинайте с журнала событий Windows: eventvwr.msc → «Журналы Windows» → «Приложение», источник с «1C» в названии. Там видна точная причина, и угадывать не придётся.
netstat -ano | findstr :1541, по PID найдите процесс. Это может быть агент другой версии — тогда разнесите их по разным портам.ImagePath с версией клиента и замените его.Если служба работает, но сеансы зависают
Иногда помогает очистка сеансовых данных:
- Предупредите пользователей: их сеансы будут разорваны.
- Остановите службу агента.
- Скопируйте папку srvinfo в резерв.
- Удалите в
reg_1541только папкиsnccntx…. Файл1CV8Clst.lstне трогайте. - Запустите службу и проверьте подключение.
Технологический журнал
Если причина не видна в событиях Windows, включите технологический журнал. Он настраивается файлом logcfg.xml в папке C:\Program Files\1cv8\conf\ (для конкретной версии — bin\conf). Начните с событий EXCP и PROC: они покажут исключения и падения процессов кластера. После диагностики журнал выключите — он быстро занимает диск.
Сетевые настройки и защита агента сервера
Брандмауэр
На сервере нужно открыть входящие TCP-подключения:
- 🔌 1540 — агент сервера;
- 🔌 1541 — менеджер кластера;
- 🔌 1560–1591 — рабочие процессы (или ваш диапазон из
-range); - 🔌 1545 — только если используете сервер администрирования
rasдля утилитыrac.
Проще разрешить правило не по портам, а по программам ragent.exe, rmngr.exe и rphost.exe нужной версии. Но после обновления платформы такое правило придётся пересоздать: путь изменится.
Имя сервера
Кластер сообщает клиентам имя компьютера, а не IP-адрес. Если клиент не может разрешить это имя, он подключится к агенту, но не дойдёт до рабочего процесса. Решение — запись в DNS или строка в C:\Windows\System32\drivers\etc\hosts на клиенте:
192.168.1.10 srv1c
Администраторы агента и кластера
По умолчанию агент без администраторов: любой пользователь сети с консолью может зайти и, например, удалить базу из кластера. Задайте их в консоли администрирования:
- Узел «Администраторы» центрального сервера — администраторы агента.
- Узел «Администраторы» внутри кластера — администраторы кластера.
Сначала добавьте администратора с паролем, и только потом закрывайте консоль. Пароль храните там же, где пароли от СУБД. Потеряли — восстанавливайте файл кластера из резервной копии при остановленной службе или обращайтесь к тому, кто настраивал сервер; пересоздавать кластер не нужно.
Параметр -seclev (значения 0–2) повышает уровень защищённости соединений с сервером. Чем выше уровень, тем больше нагрузка на процессор, поэтому включайте его осознанно, если трафик идёт через недоверенную сеть.
Если не открывается консоль кластера
Консоль администрирования серверов подключается к агенту, поэтому её проблемы часто принимают за проблемы службы.
- 🧩 Консоль пустая или выдаёт ошибку при открытии — зарегистрируйте библиотеку нужной версии от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
- 🧩 Консоль одной версии не видит кластер другой версии — версия
radmin.dllдолжна совпадать с версией агента. - 🧩 Нужен доступ без консоли, с Linux или из скрипта — запустите
rasи работайте черезrac: например,rac cluster listпокажет кластеры агента. Остальные команды смотрите в справкеrac help.
Частые вопросы
Можно ли запустить два агента сервера на одной машине?
-port, -regport, -range) и свой каталог -d. Обычно второй ставят на порты 2540/2541/2560–2591.Нужен ли агент сервера для файловой базы?
Как узнать версию работающего агента?
ragent.exe в свойствах службы или в столбце «Командная строка» диспетчера задач: номер папки и есть версия.Можно ли запускать агент не как службу?
ragent.exe вручную из консоли без ключа -srvc, но процесс завершится вместе с сеансом пользователя Windows. Для рабочего сервера используйте службу.