Служба агента сервера 1С: порты, каталог, учётная запись и автозапуск

· 9 мин

Содержание

Параметры запуска службы 1С меняют в двух местах. Тип запуска, учётную запись и восстановление при сбоях — в оснастке services.msc, в свойствах службы «Агент сервера 1С:Предприятия 8.3». Порты, каталог кластера и режим отладки — в строке запуска ragent.exe: её правят командой sc config или в реестре, в параметре ImagePath.

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

Где найти службу сервера 1С и посмотреть её текущие настройки

Служба создаётся установщиком платформы, если при установке отмечен пункт про установку сервера как сервиса Windows. Для 64-разрядного сервера её внутреннее имя обычно 1C:Enterprise 8.3 Server Agent (x86-64), отображаемое — «Агент сервера 1С:Предприятия 8.3 (x86-64)».

Открыть управление службами можно тремя способами:

  1. Win + R → services.msc → Enter.
  2. Диспетчер серверов → Средства → Службы.
  3. Диспетчер задач → вкладка Службы → ссылка внизу «Открыть службы».

В списке найдите строку по слову «Агент сервера» и откройте её двойным щелчком. На вкладке «Общие» видно поле «Исполняемый файл» — это и есть полная строка запуска. Изменить её здесь нельзя, только скопировать.

Быстрее посмотреть все службы 1С разом через PowerShell (запуск от имени администратора):

Get-CimInstance Win32_Service -Filter "Name like '1C:Enterprise%'" |
  Select-Object Name, State, StartMode, StartName, PathName | Format-List

Команда покажет состояние, тип запуска, учётную запись и строку запуска. Удобно, когда на сервере стоит несколько агентов разных версий или служба RAS.

То же для одной службы через командную строку:

sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"

Имя службы берите из вывода PowerShell или из поля «Имя службы» на вкладке «Общие». Если служба ставилась вручную, имя может отличаться от стандартного.

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

На вкладке «Общие» в поле «Тип запуска» доступны четыре варианта.

Тип запускаКогда подходит
АвтоматическиРабочий сервер: агент стартует вместе с Windows
Автоматически (отложенный запуск)Сервер, где СУБД или ключ защиты поднимаются дольше агента
ВручнуюТестовый стенд, второй экземпляр сервера «про запас»
ОтключенаВременно запретить запуск, например на время переноса

Отложенный запуск помогает в частом сценарии. Сервер 1С и PostgreSQL или MS SQL стоят на одной машине, после перезагрузки агент стартует раньше СУБД, и первые подключения падают. С отложенным запуском Windows поднимает службу примерно через пару минут после остальных автоматических.

Из командной строки тип запуска меняется так. Обратите внимание на пробел после знака = — без него sc выдаст ошибку:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= delayed-auto

Другие значения: auto, demand (вручную), disabled.

Кнопки «Запустить», «Остановить», «Перезапустить» на той же вкладке управляют состоянием. Остановка агента завершает рабочие процессы кластера, и пользователи увидят ошибку соединения с сервером.

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

Учётная запись службы 1С: USR1CV8 или своя

По умолчанию установщик создаёт локального пользователя USR1CV8 и запускает службу от него. Менять учётную запись приходится, когда:

  • 📁 базы или выгрузки лежат на сетевой папке, а у локального пользователя нет к ней доступа;
  • 🔐 политика безопасности требует доменную служебную учётную запись;
  • 🖨️ серверу нужно работать с внешними ресурсами от имени конкретного пользователя.

Порядок смены:

  1. Свойства службы → вкладка «Вход в систему».
  2. Выберите «С учётной записью» → «Обзор» → найдите пользователя.
  3. Дважды введите пароль → «Применить».
  4. Перезапустите службу.

Windows сама выдаст новой учётной записи право «Вход в качестве службы». Но доступ к файлам она не раздаст. Пользователю службы нужны:

  • полный доступ к каталогу кластера (по умолчанию C:\Program Files\1cv8\srvinfo);
  • чтение и выполнение для каталога платформы (C:\Program Files\1cv8\<версия>\bin);
  • доступ к временной папке и к каталогам, куда сервер пишет технологический журнал и выгрузки.

Та же операция через sc:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" obj= "DOMAIN\svc_1c" password= "Пароль"

Не запускайте агент от «Локальной системы» ради того, чтобы «всё заработало». Рабочие процессы получат полные права на сервере, а это лишний риск при выполнении внешних обработок и кода пользователей.

Отдельная ловушка — смена пароля. Если пароль служебной учётной записи поменяли в домене, а в свойствах службы оставили старый, после ближайшей перезагрузки агент не запустится с ошибкой входа в систему.

Восстановление после сбоя: автоматический перезапуск агента

Вкладка «Восстановление» определяет, что делает Windows, если процесс ragent.exe завершился аварийно. По умолчанию для службы 1С там стоит «Не выполнять никаких действий».

Рабочая настройка для большинства серверов:

ПолеЗначение
Первый сбойПерезапуск службы
Второй сбойПерезапуск службы
Последующие сбоиНе выполнять никаких действий
Сброс счётчика ошибок через1 день
Перезапуск службы через1 мин

Третий вариант оставляют пустым намеренно. Если агент падает раз за разом, бесконечный перезапуск прячет проблему, а пользователи ловят обрывы каждые несколько минут. Лучше пусть служба остановится, и администратор разберётся по журналу.

Командой то же самое:

sc failure "1C:Enterprise 8.3 Server Agent (x86-64)" reset= 86400 actions= restart/60000/restart/60000//

Здесь reset — сброс счётчика в секундах, 60000 — задержка перезапуска в миллисекундах.

Восстановление сработает только при аварийном завершении. Если агент штатно остановили вручную, Windows его не поднимет.

Строка запуска 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"

Что означает каждый параметр:

ПараметрНазначение
-srvcАгент запущен как служба Windows
-agentЗапуск в режиме агента сервера
-port 1540Порт агента: к нему обращаются клиенты и консоль
-regport 1541Порт главного менеджера кластера
-range 1560:1591Диапазон портов рабочих процессов
-d "…\srvinfo"Каталог с реестром кластера и служебными файлами
-debugРазрешает отладку на сервере

Цепочка подключения такая: клиент идёт на агент (1540), агент направляет к менеджеру кластера (1541), дальше работа идёт с рабочими процессами из диапазона. Все три значения должны быть открыты в брандмауэре, если клиенты подключаются с других машин.

Как изменить строку запуска

Через sc config. Вложенные кавычки экранируются обратной косой чертой:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "\"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"

Через реестр. Откройте regedit, перейдите в раздел:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)

Дважды щёлкните параметр ImagePath и отредактируйте строку. Перед правкой экспортируйте раздел: правая кнопка → «Экспортировать».

Три частые задачи

Включить отладку на сервере. Добавьте в конец строки -debug. Для отладки по протоколу HTTP добавляют -debug -http. После перезапуска в конфигураторе станет доступна отладка серверного кода. На рабочем сервере отладку держат выключенной: она расходует ресурсы и открывает лишнюю возможность подключения.

Перевести службу на новую версию платформы. После установки нового релиза служба часто продолжает запускать старый ragent.exe: путь к нему прописан в строке запуска. Остановите службу, замените в ImagePath номер версии на новый, запустите. Каталог srvinfo и порты не трогайте — кластер и список баз сохранятся.

Перенести каталог кластера. Например, на отдельный диск под сеансовые данные. Остановите службу, скопируйте папку srvinfo целиком в новое место, выдайте пользователю службы полный доступ, поменяйте путь после -d, запустите. Старую папку удаляйте только после проверки, что базы видны в консоли.

Второй экземпляр сервера на той же машине

Например, чтобы держать тестовую версию платформы рядом с рабочей. Новой службе нужны свои порты и свой каталог:

sc create "1C:Enterprise 8.3 Server Agent 2541" binPath= "\"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"C:\Program Files\1cv8\srvinfo2541\"" start= demand obj= ".\USR1CV8" password= "Пароль"

Номер версии в пути подставьте свой. Клиенты подключаются ко второму экземпляру с указанием порта: сервер:2541.

Альтернатива sc create — регистрация самим агентом: у ragent.exe есть ключи -instsrvc и -rmsrvc для установки и удаления службы. Набор дополнительных ключей зависит от версии платформы, сверяйтесь с документацией к своему релизу.

Диапазоны портов двух агентов не должны пересекаться. Иначе второй стартует, но часть рабочих процессов не поднимется, а ошибки будут плавающими.

Служба удалённого администрирования RAS — отдельный процесс со своей строкой запуска. Её параметры (порт RAS, адрес агента) меняют тем же способом: через sc config или ImagePath её службы.

Если служба не запускается: журнал событий и разбор ошибок

Первое место для диагностики — «Просмотр событий» (eventvwr.msc).

  1. Журналы Windows → Система. Отфильтруйте по источнику Service Control Manager. Здесь Windows пишет, почему служба не стартовала.
  2. Журналы Windows → Приложение. Отфильтруйте по источнику, содержащему «1C». Сюда пишет сама платформа: ошибки лицензирования, доступа к каталогам, сетевые.

Коды событий диспетчера служб, которые встречаются чаще других:

Код событияЧто означает
7000Служба не запустилась, в тексте указана причина
7009Превышено время ожидания ответа от службы
7031, 7034Служба завершилась непредвиденно
7038Не удалось войти от имени учётной записи службы
Диагностика: выберите симптом

Если журналов Windows не хватает, включают технологический журнал 1С. Он настраивается файлом logcfg.xml в каталоге conf платформы и пишет события сервера подробно, вплоть до исключений рабочих процессов. Включайте его точечно, с фильтром по событиям: полный журнал быстро съедает диск.

Частые ошибки при изменении параметров службы

  • ❌ Правка ImagePath без остановки службы. Изменения применятся только после перезапуска. Администратор правит строку, проверяет — ничего не поменялось, и правит ещё раз, внося новые ошибки.
  • ❌ Пробелы в sc. Запись start=auto без пробела не принимается. Правильно start= auto.
  • ❌ Новый каталог -d без копирования содержимого. Агент стартует с пустым кластером, и в консоли пропадает список баз. Сами базы в СУБД целы, но регистрировать их придётся заново. Чтобы этого не случилось, сначала копируйте srvinfo.
  • ❌ Смена учётной записи без прав на каталоги. Служба стартует, но рабочие процессы падают при первом подключении.
  • ❌ Два агента на одном порту с автозапуском. После перезагрузки побеждает тот, кто стартовал первым, и непонятно, какой версии платформы.

Частые вопросы

Нужно ли перезагружать сервер после изменения параметров службы?
Нет. Достаточно перезапустить саму службу агента. Перезагрузка Windows нужна только если меняли системные настройки, например брандмауэр через групповую политику.
Можно ли поменять параметры, не прерывая работу пользователей?
Тип запуска и настройки восстановления применяются сразу и сеансы не трогают. Порты, каталог, учётная запись и отладка требуют перезапуска агента, а он отключает всех пользователей сервера.
Почему после обновления платформы в консоли старая версия?
Служба запускает ragent.exe по пути из строки запуска. Новая версия установилась рядом, а служба по-прежнему указывает на каталог старой. Поменяйте номер версии в ImagePath и перезапустите службу.
Как узнать, какой ragent.exe реально запущен?
В диспетчере задач на вкладке «Подробности» включите столбец «Командная строка». У процесса ragent.exe будет виден полный путь и все параметры.
Где менять параметры службы сервера 1С на Linux?
В Linux агент запускается через systemd. Параметры задают в юнит-файле службы или в файле переменных окружения, который он подключает; после правки выполняют systemctl daemon-reload и перезапуск службы.