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

· 9 мин

Содержание

Зарегистрировать службу 1С можно двумя способами: командой ragent.exe -instsrvc из папки bin нужной версии платформы или командой sc create с явным путём к ragent.exe и параметрами портов. Обе команды запускают из командной строки с правами администратора. После регистрации службу стартуют командой ragent.exe -start или в оснастке services.msc, а затем добавляют центральный сервер в консоль администрирования кластера.

Если при установке платформы вы сняли флажок «Установить 1С:Предприятие 8 как сервис Windows », служба не появится сама. Это частая причина, по которой после установки «сервер есть, а службы нет». Переустанавливать платформу для исправления не нужно — достаточно зарегистрировать службу вручную.

Подготовка сервера перед регистрацией службы 1С

Служба — это агент сервера ragent.exe. Он, в свою очередь, запускает менеджер кластера rmngr.exe и рабочие процессы rphost.exe. Все три файла должны лежать в одной папке bin конкретной версии платформы.

Перед регистрацией проверьте:

  • 🧩 Установлен компонент «Сервер 1С:Предприятия 8» (64-битный, если сервер 64-битный). Без него в папке bin не будет ragent.exe.
  • 📁 Путь к платформе. Обычно C:\Program Files\1cv8\8.3.xx.xxxx\bin\. Номер версии подставьте свой.
  • 📂 Каталог данных кластера. По умолчанию C:\Program Files\1cv8\srvinfo. Здесь хранятся реестр кластера и сеансовые данные.
  • 🔑 Лицензия на сервер. Программная или аппаратный ключ. Без неё служба стартует, но клиенты к базам не подключатся.
  • 🛡️ Права. Командную строку открывают через «Запуск от имени администратора», иначе регистрация упадёт с Отказано в доступе.
  • 🔌 Свободные порты. Проверьте, что 1540 и 1541 не заняты другим процессом.

Проверка портов:

netstat -ano | findstr ":1540 :1541"

Если в выводе есть строки со статусом LISTENING, посмотрите PID в последнем столбце и найдите процесс в диспетчере задач. Часто это служба другой версии платформы, которую забыли остановить.

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

Способ 1. Регистрация службы командой ragent -instsrvc

Это штатный способ. Агент сам создаёт службу с правильными параметрами запуска.

  1. Откройте cmd от имени администратора.
  2. Перейдите в папку платформы:
    cd /d "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
    
  3. Если служба этой версии уже была зарегистрирована, снимите её:
    ragent.exe -rmsrvc
    
  4. Зарегистрируйте службу заново:
    ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
    
  5. Запустите службу:
    ragent.exe -start
    

Что означают параметры:

ПараметрЧто задаётЗначение по умолчанию
-usr, -pwdучётная запись, от имени которой работает службаUSR1CV8, созданный установщиком
-portпорт агента сервера1540
-regportпорт менеджера кластера1541
-rangeдиапазон портов рабочих процессов1560:1591
-dкаталог данных кластераsrvinfo
-debugразрешает отладку на серверевыключено

Флаг -debug нужен только там, где разработчики отлаживают код на сервере. На рабочем сервере его лучше не ставить.

Команда ragent.exe -rmsrvc удаляет только регистрацию службы. Базы и реестр кластера в srvinfo остаются на месте. Но перед удалением служба останавливается, и все пользователи сервера будут отключены. Делайте это вне рабочего времени.

Способ 2. Регистрация службы 1С вручную через sc create

sc create выручает в трёх случаях: нужно задать своё имя службы, на сервере две версии платформы, или -instsrvc отработал с ошибкой. Служба получает те же параметры, только ключ -srvc -agent указывается в строке запуска.

sc create "1C:Enterprise 8.3 Server Agent 8.3.xx" binPath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\"" start= auto obj= ".\USR1CV8" password= "Пароль" DisplayName= "Агент сервера 1С 8.3.xx"
sc start "1C:Enterprise 8.3 Server Agent 8.3.xx"

Тонкости синтаксиса sc:

  • после знака = обязателен пробел: start= auto, а не start=auto;
  • кавычки внутри binPath экранируются обратной косой чертой \";
  • имя службы в кавычках, если в нём есть пробелы;
  • пароль с пробелами или спецсимволами тоже берите в кавычки.

Для второй версии платформы смените номера: например, -port 2540 -regport 2541 -range 2560:2591 и отдельный каталог -d "C:\Program Files\1cv8\srvinfo2". Если две службы будут использовать один каталог данных, вторая не запустится или повредит реестр первой.

Удалить службу, созданную через sc:

sc stop "1C:Enterprise 8.3 Server Agent 8.3.xx"
sc delete "1C:Enterprise 8.3 Server Agent 8.3.xx"

Служба сервера администрирования RAS

Утилиту rac и сторонние консоли нельзя подключить к кластеру напрямую — нужен сервер администрирования ras.exe. Его тоже удобно держать службой:

sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto DisplayName= "Сервер администрирования 1С 8.3"
sc start "1C:Enterprise 8.3 Remote Server"

Проверка, что RAS видит кластер:

rac localhost:1545 cluster list

Команда выведет идентификатор кластера, имя и порт 1541. Дальнейшие команды смотрите в rac help.

Сравнение способов

СпособКогда выбиратьРиски
Установщик платформыновый сервер, одна версиялегко пропустить флажок службы
ragent.exe -instsrvcпереустановка, смена учётной записи или портовимя службы стандартное, две версии с ним конфликтуют
sc createнесколько версий, своё имя службы, RASошибка в кавычках binPath — служба не стартует

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

Установщик создаёт локального пользователя USR1CV8. Если вы указываете свою учётную запись (например, доменную), ей нужно выдать те же права, что получает USR1CV8.

Минимальный набор:

  1. Право «Вход в качестве службы». Откройте secpol.msc → Локальные политики → Назначение прав пользователя и добавьте пользователя в политику «Вход в качестве службы».
  2. Группа «Пользователи журналов производительности». Без неё агент не может собирать показатели и в журнале появляются ошибки доступа.
  3. Полный доступ к каталогу srvinfo. Здесь служба пишет реестр кластера и временные файлы сеансов.
  4. Чтение и выполнение на папке bin. Обычно наследуется от Program Files.
  5. Доступ к папке технологического журнала, если он включён.

Пользователю службы не нужны права локального администратора. Запуск службы от Локальная система технически работает, но это даёт процессам 1С лишние полномочия на сервере. Для рабочего сервера держите отдельного пользователя.

Сменить пароль учётной записи службы можно в services.msc: свойства службы → вкладка «Вход в систему». После смены пароля пользователя в Windows его нужно обновить и здесь, иначе служба не стартует при следующей перезагрузке.

Для СУБД это тоже имеет значение. Если базы лежат на MS SQL и подключение идёт через проверку подлинности Windows, логин в SQL Server создают именно для учётной записи службы 1С.

Подключение к кластеру в консоли администрирования

Служба запущена — теперь сервер нужно увидеть в консоли «Администрирование серверов 1С:Предприятия».

Если консоль не открывается или показывает пустое окно, зарегистрируйте её компонент. В меню «Пуск» есть ярлык «Регистрация утилиты администрирования серверов». То же самое из командной строки:

regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"

Компонент radmin.dll должен быть той же версии, что и сервер. После обновления платформы перерегистрируйте его — иначе консоль ругается на несоответствие версий.

Порядок подключения:

  1. Откройте консоль и встаньте на «Central 1C:Enterprise 8.3 servers».
  2. В контекстном меню выберите Создать → Центральный сервер 1С:Предприятия 8.3.
  3. Укажите имя компьютера, протокол TCP и порт агента — 1540 или тот, что задали в -port.
  4. Раскройте сервер: появится «Локальный кластер» с портом 1541.
  5. В ветке Рабочие серверы откройте свойства сервера и проверьте диапазон портов — он должен совпадать с -range.

Здесь же задают администраторов центрального сервера и кластера. Делайте это после того, как убедились, что всё работает: потерянный пароль администратора кластера придётся восстанавливать через резервную копию файлов srvinfo.

Брандмауэр и сетевой доступ к серверу 1С

Клиент сначала обращается к агенту сервера, затем к менеджеру кластера, а потом к рабочему процессу. Поэтому открывать нужно весь набор портов, а не только 1540.

ПортКто слушаетНужен клиентам
1540агент сервера ragentда
1541менеджер кластера rmngrда
1560–1591рабочие процессы rphostда
1545сервер администрирования rasтолько администраторам

Правило брандмауэра Windows одной командой:

netsh advfirewall firewall add rule name="1C Server 8.3" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591

Порт 1545 лучше открывать отдельным правилом и только для IP-адресов администраторов.

Проверить доступность с клиентского компьютера можно в PowerShell:

Test-NetConnection srv-1c -Port 1540
Test-NetConnection srv-1c -Port 1560

TcpTestSucceeded : True значит, что порт открыт. Если 1540 отвечает, а база всё равно не открывается, проверьте порты рабочих процессов — их забывают чаще всего.

Ещё одно условие — имя сервера должно разрешаться в IP на клиенте и на самом сервере. Если DNS в сети нет, пропишите имя в файл C:\Windows\System32\drivers\etc\hosts на клиентах.

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

Первое место для поиска — журнал Windows: eventvwr.msc → Журналы Windows → Приложение. Отфильтруйте записи по источнику, в имени которого есть «1C». Второе — системный журнал, туда пишет диспетчер служб.

Диагностика: выберите симптом

Если журналов Windows мало, включите технологический журнал. Он настраивается файлом logcfg.xml в каталоге conf платформы. Минимальная настройка с событиями EXCP (исключения) уже покажет, на чём падает агент или менеджер кластера. Не оставляйте подробный журнал включённым надолго: он быстро занимает диск.

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

Служба сервера 1С на Linux

На Linux начиная с платформы 8.3.21 служба поставляется как unit-файл systemd. Его не создают руками, а подключают из каталога установки:

sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable srv1cv8-8.3.xx.xxxx@default
sudo systemctl start srv1cv8-8.3.xx.xxxx@default
systemctl status srv1cv8-8.3.xx.xxxx@default

Служба работает от пользователя usr1cv8, который создаётся при установке пакетов сервера. Каталог данных кластера — в домашнем каталоге этого пользователя. Порты и правила для брандмауэра те же, что в Windows.

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

Можно ли запустить сервер 1С без службы?
Можно: ragent.exe запускают в консоли с ключом -agent. Но сервер остановится при выходе пользователя из сеанса Windows, поэтому для рабочего режима нужна служба.
Как узнать, от какой версии платформы работает служба?
Откройте свойства службы в services.msc и посмотрите поле «Исполняемый файл»: в пути к ragent.exe указан номер версии.
Нужно ли перерегистрировать службу после обновления платформы?
Да. Новая версия ставится в отдельную папку, а служба продолжает запускать старый ragent.exe. Остановите и удалите старую службу, зарегистрируйте новую с теми же портами и каталогом srvinfo.
Почему после смены портов клиенты не видят базы?
В списке баз на клиентах указано имя сервера без порта, и клиент ищет кластер на стандартном 1541. При нестандартных портах укажите порт менеджера кластера через двоеточие, например srv-1c:2541.
Пропадут ли базы, если удалить службу?
Нет. Удаление службы не трогает ни реестр кластера в srvinfo, ни сами базы в СУБД. После регистрации новой службы с тем же каталогом данных кластер появится в консоли со всеми базами.