Параметры запуска агента сервера 1С:Предприятие (ragent.exe)

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При администрировании крупных информационных систем на базе платформы «1С:Предприятие 8» часто возникает необходимость тонкой настройки серверной части. Основным исполняемым файлом, управляющим кластером серверов, является агент сервера — ragent.exe (в среде Windows) или исполняемый файл ragent (в среде Linux). В этой статье мы подробно и по шагам разберем все доступные параметры запуска агента сервера 1С, изучим особенности настройки службы, включение режима отладки различных типов, а также специфику конфигурирования в операционных системах Windows и Linux.

Зачем управлять параметрами ragent.exe вручную?

По умолчанию при установке платформы «1С:Предприятие» создается стандартная служба со стандартными портами и настройками. Однако в реальной практике системного администратора и разработчика возникают ситуации, требующие нестандартного поведения сервера. Разберем наиболее частые сценарии:

  1. Развертывание нескольких версий платформы на одном физическом или виртуальном сервере. Для этого требуется разнести службы по различным сетевым портам.
  2. Перенос каталога реестра кластера (настроек баз данных, сеансов, блокировок) на более быстрый SSD-накопитель или другой логический диск для повышения производительности и отказоустойчивости.
  3. Активация режима отладки (debug) на сервере для поиска ошибок в коде конфигурации.
  4. Ограничение диапазонов портов для соответствия политикам сетевой безопасности и корректной настройки брандмауэра (файрвола).

Разбор основных параметров командной строки ragent.exe

Рассмотрим базовые ключи командной строки, которые передаются исполняемому файлу при его запуске. С их помощью настраивается сетевая топология кластера.

Параметр -port

Этот параметр указывает сетевой порт, который будет слушать сам агент сервера. Именно к этому порту обращается консоль администрирования кластера («Администрирование серверов 1С Предприятия»). По умолчанию используется значение 1540. Если нам необходимо запустить второй экземпляр службы, мы можем указать другой порт, например, 1640.

Параметр -regport

Определяет сетевой порт главного менеджера кластера (rmngr), который создается автоматически при первом запуске службы. По умолчанию используется порт 1541. Для альтернативного экземпляра службы часто выбирают значение 1641.

Параметр -range

Задает диапазоны IP-портов, из которых динамически выбираются сетевые порты для рабочих процессов (rphost). По умолчанию используется диапазон 1560:1591. Если на сервере планируется запуск большого количества рабочих процессов или нескольких кластеров, диапазон необходимо расширить или явно разграничить. Формат указания диапазона: 1560:1591 или несколько диапазонов через запятую.

Параметр -d

Указывает путь к каталогу, в котором будет храниться реестр кластера серверов (включая файлы настроек, список информационных баз, сеансы и т.д.). По умолчанию в операционной системе Windows данные сохраняются по пути %LOCALAPPDATA%\1C\1Cv8 (обычно это папка профиля пользователя, под которым запущена служба, например, C:\Windows\ServiceProfiles\LocalService\AppData\Local\1C\1Cv8). Крайне рекомендуется переносить этот каталог на отдельный быстрый диск, используя данный ключ.

Параметр -seclev

Определяет уровень безопасности устанавливаемых соединений. Поддерживаются следующие значения:

  1. 0 — шифрование отключено. Данный режим обеспечивает максимальную производительность, так как трафик между клиентом и сервером не шифруется.
  2. 1 — защищенное соединение устанавливается только в момент аутентификации пользователя, дальнейший обмен идет в открытом виде.
  3. 2 — постоянное шифрование всего передаваемого трафика. Обеспечивает максимальную безопасность, но создает дополнительную нагрузку на процессоры сервера и клиента.

Регистрация и управление службой в ОС Windows

Исполняемый файл ragent.exe обладает встроенным функционалом по установке и удалению себя в качестве системной службы Windows. Нам не требуется использовать сторонние утилиты. Проанализируем ключи управления службой:

Установка службы (-instsrvc)

Регистрирует агент как службу Windows. Обычно используется совместно с указанием учетной записи и пароля, от имени которой будет осуществляться запуск.

Удаление службы (-rmsrvc)

Полностью удаляет зарегистрированную службу из системы.

Указание пользователя (-usr и -pwd)

Ключ -usr задает имя пользователя операционной системы (например, .\USR1CV8), а ключ -pwd — его пароль. Это критически важно, так как запуск службы от имени системной учетной записи (Local System) не рекомендуется из соображений безопасности.

Запуск и остановка (-start и -stop)

Позволяют запустить или остановить уже зарегистрированную службу напрямую через командную строку.

Давайте посмотрим на практический пример полной регистрации службы с измененными портами и перенесенным каталогом данных:


"C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -instsrvc -usr ".\USR1CV8" -pwd "StrongPassword123" -port 1640 -regport 1641 -range 1660:1691 -d "D:\1C_Base_Data\Cluster" -debug

В данном примере мы зарегистрировали службу для версии платформы 8.3.22.1709, назначили ей порты из пула 16xx, перенесли реестр на диск D в папку D:\1C_Base_Data\Cluster и активировали режим отладки.

Настройка параметров отладки (Debug)

Один из самых частых вопросов на форумах посвящен включению режима отладки на сервере. Без него разработчики не могут использовать точки останова в серверных модулях (например, при проведении документов или выполнении фоновых заданий). Выясним, какие варианты настройки существуют в современных версиях платформы 1С:Предприятие 8.3.

Начиная с версии 8.3, платформа поддерживает два протокола отладки: классический TCP/IP и современный HTTP. Рассмотрим подробнее каждый из них.

Классическая отладка по протоколу TCP/IP

Для ее активации используется простой ключ -debug. При этом рабочие процессы сервера начинают использовать для передачи отладочной информации случайные порты из диапазона, заданного ключом -range. Это может вызывать проблемы, если сервер отделен от разработчиков сетевым экраном (брандмауэром).

Пример строки запуска с классической отладкой:


ragent.exe -debug -port 1540 -regport 1541 -range 1560:1591 -d "C:\1C_Data"

Отладка по протоколу HTTP

Этот режим более стабилен при работе через сложные сетевые маршруты, VPN или интернет. При использовании HTTP-отладки запускается специальная служба (сервер отладки) dbgs.exe, которая централизованно координирует процесс отладки.

Для управления HTTP-отладкой применяются следующие расширенные ключи:

  1. -debug -http — включает режим отладки по протоколу HTTP. Локальный сервер отладки запускается автоматически на порту 1550 по умолчанию.
  2. -debugServerAddr <адрес> — позволяет указать сетевой адрес (IP или DNS-имя) компьютера, на котором запущен сервер отладки. Это полезно, если вы используете один выделенный сервер отладки для нескольких серверов 1С.
  3. -debugServerPort <порт> — переопределяет стандартный порт сервера отладки (вместо 1550 можно указать любой свободный, например, 1555).
  4. -debugServerPwd <пароль> — защищает сервер отладки паролем, предотвращая несанкционированное подключение сторонних пользователей к сессиям отладки.

Посмотрим на пример конфигурации с использованием HTTP-отладки на нестандартном порту:


ragent.exe -debug -http -debugServerPort 1555 -port 1540 -regport 1541 -range 1560:1591 -d "C:\1C_Data"

Специфика настройки параметров в Linux (systemd)

В операционных системах семейства Linux (Ubuntu, Debian, CentOS, RedHat) запуск агента сервера выполняется через системный менеджер служб systemd. В этом случае мы не прописываем параметры командной строки напрямую в исполняемый файл. Вместо этого используются конфигурационные файлы среды окружения.

В зависимости от дистрибутива, файл конфигурации может находиться по пути:

  1. /etc/default/srv1cv8 — для систем на базе Debian/Ubuntu.
  2. /etc/sysconfig/srv1cv8 — для систем на базе RedHat/CentOS/RPM.

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

  1. SRV1CV8_PORT — полностью аналогично ключу -port. Задает порт агента (например, 1540).
  2. SRV1CV8_REGPORT — аналог ключа -regport (например, 1541).
  3. SRV1CV8_RANGE — задает диапазон портов для рабочих процессов (например, 1560:1591).
  4. SRV1CV8_DATA — указывает путь к каталогу данных кластера (аналог ключа -d). Например, /var/1c/data.
  5. SRV1CV8_SECLEV — уровень безопасности соединений (аналог ключа -seclev).
  6. SRV1CV8_DEBUG — переменная для включения отладки. Для активации классической отладки ей присваивают значение -debug или -debug -tcp. Для включения HTTP-отладки задают значение -debug -http. По умолчанию переменная пуста, что означает отключенную отладку.
  7. SRV1CV8_KEYTAB — определяет путь к файлу keytab для настройки сквозной доменной авторизации (Kerberos).

Давайте посмотрим, как выглядит типичный настроенный конфигурационный файл в Linux:


# Конфигурационный файл /etc/default/srv1cv8
SRV1CV8_PORT=1540
SRV1CV8_REGPORT=1541
SRV1CV8_RANGE=1560:1591
SRV1CV8_DATA=/var/1c/data
SRV1CV8_DEBUG="-debug -http"
SRV1CV8_SECLEV=0

После изменения этого файла необходимо перезапустить службу сервера 1С, чтобы новые параметры вступили в силу. Выполним следующие команды в терминале Linux:


sudo systemctl daemon-reload
sudo systemctl restart srv1cv8-8.3.22.1709.service

Инструкция по изменению параметров существующей службы в Windows

Что делать, если служба сервера 1С уже установлена, но вам нужно добавить в нее параметры (например, включить отладку или перенести каталог данных)? Разберем по шагам самый надежный и безопасный способ изменения параметров через реестр Windows без удаления и повторной установки службы.

  1. Нажмите комбинацию клавиш Win + R, введите regedit и нажмите Enter для запуска редактора реестра.
  2. Перейдите по следующему пути: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
  3. Найдите в списке службу вашего сервера 1С. Она обычно называется 1C:Enterprise 8.3 Server Agent (или содержит номер версии платформы, например, 1C:Enterprise 8.3.22.1709 Server Agent).
  4. В правой части окна найдите параметр с именем ImagePath. Этот параметр имеет тип REG_EXPAND_SZ и содержит полную строку запуска службы.
  5. Дважды щелкните по параметру ImagePath для его редактирования.
  6. Добавьте необходимые ключи в конец строки. Например, если там было написано:
    
    "C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
    
    то для включения HTTP-отладки измените строку на следующую:
    
    "C:\Program Files\1cv8\8.3.22.1709\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http
    
  7. Нажмите кнопку «ОК» для сохранения изменений.
  8. Откройте оснастку «Службы» (через команду services.msc), найдите службу сервера 1С и выполните ее перезапуск.

После перезапуска службы все изменения вступят в силу. Вы можете проверить работу отладки, запустив Конфигуратор и попробовав подключиться к серверному сеансу.

Типичные ошибки при настройке параметров

При ручном изменении параметров запуска администраторы часто совершают несколько классических ошибок. Проанализируем их, чтобы не допускать в будущем:

  1. Опечатки в путях каталога данных. Если вы указываете ключ -d с путем, содержащим пробелы (например, -d D:\1C Base Data), обязательно берите весь путь в двойные кавычки: -d "D:\1C Base Data". В противном случае служба не сможет запуститься, выдав ошибку.
  2. Пересечение диапазонов портов. Если на сервере развернуто несколько служб 1С (разные версии платформы), следите, чтобы диапазоны портов -range не перекрывали друг друга. Если два процесса попытаются занять один и тот же порт, один из них завершится аварийно.
  3. Отсутствие прав у пользователя ОС. Если вы меняете каталог данных с помощью ключа -d, убедитесь, что у пользователя операционной системы, от имени которого запускается служба (например, USR1CV8), есть полные права (чтение, запись, изменение) на этот новый каталог. Без необходимых прав служба упадет при запуске.
  4. Проблемы с брандмауэром при отладке. Если вы включили режим -debug, но отладка все равно не работает, проверьте, открыты ли порты диапазона -range (для TCP-отладки) или порт 1550/выбранный порт (для HTTP-отладки) в брандмауэре Windows или сетевом экране Linux.

Мы подробно разобрали все особенности конфигурирования агента сервера 1С ragent.exe. Использование правильных параметров запуска позволяет гибко масштабировать систему, обеспечивать безопасность данных и значительно упрощать процесс разработки и отладки программных решений.

← На главную