Агент сервера 1С 8.3 в службах Windows: установка, регистрация вручную и первый запуск
Содержание
Чтобы сервер 1С:Предприятие 8 работал как сервис Windows, при установке платформы отметьте компонент «Сервер 1С:Предприятия 8» и флажок «Установить 1С:Предприятие 8 как сервис Windows». Установщик сам создаст службу агента сервера (ragent.exe) и пользователя USR1CV8, под которым она будет работать. Если службу нужно создать позже, вторую на той же машине или с нестандартными портами — регистрируйте её вручную через ragent.exe -instsrvc или sc create.
Служба стартует вместе с Windows, не зависит от того, вошёл ли кто-то на сервер, и перезапускается без участия человека. Для клиент-серверной базы это единственный нормальный режим работы.
Почему сервер 1С запускают службой, а не вручную
Агент сервера можно запустить и как обычную программу из командной строки. Но тогда он живёт ровно до выхода администратора из сеанса или первой перезагрузки.
Что даёт режим службы:
- 🔄 Автозапуск. Сервер поднимается после перезагрузки, обновлений Windows и отключения питания.
- 👤 Отдельная учётная запись. Процессы
ragent,rmngrиrphostработают под пользователем с ограниченными правами, а не под администратором. - 🛠 Управление стандартными средствами. Остановка, запуск, восстановление после сбоя — через
services.mscилиsc. - 📋 Журнал событий. Причины падения службы видны в журнале «Система».
Ручной запуск оправдан только для отладки: когда служба не стартует и нужно увидеть ошибку в консоли.
Что проверить на сервере до установки
Подготовка занимает 10-15 минут и снимает почти все проблемы первого запуска.
Версия ОС и разрядность
Ставьте 64-разрядный сервер 1С на Windows Server 2016 и новее. 32-разрядный сервер имеет смысл только для старых внешних компонент, которые не работают в x64.
Учётная запись службы
Решите заранее, под кем будет работать служба:
| Вариант | Когда подходит | Риски |
|---|---|---|
Локальный USR1CV8 (создаёт установщик) | Один сервер, СУБД и файлы на этой же машине | Нет доступа к сетевым папкам |
| Доменная учётная запись | Выгрузки в сетевые каталоги, обмены через общие папки, кластер из нескольких серверов | Нужно следить за сроком пароля |
LocalSystem | Не рекомендуется | Лишние права у процессов 1С |
Учётной записи нужны:
- Право «Вход в качестве службы»:
secpol.msc→Локальные политики→Назначение прав пользователя. - Членство в группе «Пользователи журналов производительности» — без него служба может работать нестабильно.
- Полные права на каталог данных кластера (по умолчанию
srvinfoвнутри каталога установки).
Для доменной учётной записи поставьте «Срок действия пароля не ограничен» или заведите управляемую учётную запись службы. Истёкший пароль — частая причина того, что сервер 1С не поднялся после плановой перезагрузки.
Порты
Стандартная схема:
- 1540 — агент сервера, к нему сначала обращается клиент и консоль;
- 1541 — менеджер кластера;
- 1560-1591 — рабочие процессы (диапазон задаётся в свойствах рабочего сервера);
- 1545 — сервер администрирования
ras, если нуженrac.
Проверьте, что порты свободны:
netstat -ano | findstr ":1540 :1541"
И откройте их в брандмауэре:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
Лицензия и имя сервера
Серверу нужна своя лицензия — программная или аппаратный ключ. Без неё служба запустится, но клиенты к базе не подключатся.
Имя сервера должно разрешаться с клиентских машин. Если DNS не настроен, добавьте запись в C:\Windows\System32\drivers\etc\hosts на каждом клиенте.
Способ 1. Установщик платформы
Самый простой путь, подходит для первой установки.
- Запустите
setup.exeиз дистрибутива технологической платформы (для сервера x64 — дистрибутив «Технологическая платформа 1С:Предприятия (64-bit) для Windows»). - В списке компонентов включите «Сервер 1С:Предприятия 8» и «Модули расширения веб-сервера», если нужна публикация.
- На шаге с параметрами сервера отметьте «Установить 1С:Предприятие 8 как сервис Windows».
- Выберите «Создать пользователя USR1CV8» и задайте пароль либо укажите существующую учётную запись.
- Завершите установку и откройте
services.msc. Служба «Агент сервера 1С:Предприятия 8.3» должна быть в состоянии «Выполняется» с типом запуска «Автоматически».
После установки зарегистрируйте консоль администрирования, иначе оснастка не откроется:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Номер версии в пути подставьте свой. Регистрировать нужно radmin.dll той же версии и разрядности, что и сервер.
Способ 2. Регистрация службы через ragent.exe
Нужен, когда платформа уже стоит без службы, когда службу удалили или когда надо поменять порты и каталог данных.
Откройте командную строку от имени администратора и перейдите в каталог bin нужной версии:
cd "C:\Program Files\1cv8\8.3.24.1548\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ПарольПользователя -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start
Что означают ключи:
| Ключ | Назначение |
|---|---|
-instsrvc | Зарегистрировать агент как службу |
-usr, -pwd | Учётная запись и пароль службы |
-port | Порт агента сервера |
-regport | Порт менеджера кластера |
-range | Диапазон портов рабочих процессов |
-d | Каталог данных кластера (srvinfo) |
-start, -stop | Запустить или остановить службу |
-rmsrvc | Удалить службу |
Для смены версии платформы сначала удалите старую службу из каталога старой версии, затем зарегистрируйте новую:
"C:\Program Files\1cv8\8.3.23.1865\bin\ragent.exe" -stop
"C:\Program Files\1cv8\8.3.23.1865\bin\ragent.exe" -rmsrvc
Остановка службы обрывает сеансы всех пользователей, фоновые и регламентные задания. Делайте это вне рабочего времени и после предупреждения пользователей.
Вторая служба на том же сервере через sc create
ragent -instsrvc создаёт службу со стандартным именем, поэтому две версии платформы так не поставить. Вторую службу создают через sc с уникальным именем и другими портами:
sc create "1C:Enterprise 8.3 Server Agent 2540" binPath= "\"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"C:\srvinfo2540\"" start= auto obj= .\USR1CV8 password= ПарольПользователя DisplayName= "Агент сервера 1С 8.3 (порт 2540)"
sc start "1C:Enterprise 8.3 Server Agent 2540"
Обратите внимание на синтаксис sc: после = обязателен пробел, а кавычки внутри binPath экранируются обратной косой чертой. Ключ -srvc говорит агенту, что он запущен диспетчером служб.
Клиенты подключаются ко второму кластеру по адресу ИмяСервера:2541 — с портом менеджера кластера, а в консоли администрирования сервер добавляют по порту агента 2540.
Служба сервера администрирования ras
Утилите rac нужен запущенный ras. Его тоже удобно держать службой:
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1548\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto DisplayName= "Сервер администрирования 1С 8.3"
sc start "1C:Enterprise 8.3 Remote Server"
Способ 3. NSSM как обёртка
NSSM (Non-Sucking Service Manager) превращает любую консольную программу в службу. Для агента 1С это нештатный путь: штатные способы выше работают надёжнее. NSSM выручает, когда нужна запись вывода процесса в файл или гибкая политика перезапуска без правки реестра.
Пример для агента, запущенного без ключа -srvc (NSSM сам выступает службой):
nssm install 1CAgent "C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
nssm set 1CAgent ObjectName .\USR1CV8 ПарольПользователя
nssm set 1CAgent Start SERVICE_AUTO_START
nssm set 1CAgent AppStdout C:\Logs\1cagent.log
nssm set 1CAgent AppStderr C:\Logs\1cagent.log
nssm start 1CAgent
| Способ | Когда выбирать | Минусы |
|---|---|---|
| Установщик | Первая установка, одна версия | Порты и каталог по умолчанию |
ragent -instsrvc | Переустановка, смена портов | Одно стандартное имя службы |
sc create | Несколько кластеров или версий на сервере | Легко ошибиться в кавычках |
| NSSM | Нужен лог вывода, особые правила перезапуска | Сторонний инструмент, нештатная схема |
Не держите одновременно штатную службу и NSSM-службу на одних портах. Вторая не запустится, а в журнале будет только код завершения процесса.
Первый запуск: кластер и информационная база
Когда служба стартует с пустым каталогом srvinfo, агент сам создаёт «Локальный кластер» на порту менеджера (1541) и рабочий сервер с именем машины.
Дальше:
- Откройте «Администрирование серверов 1С Предприятия» (оснастка
1CV8 Servers.msc). - Добавьте центральный сервер: правой кнопкой по «Central 1C:Enterprise 8.3 servers» → «Создать» → «Центральный сервер 1С:Предприятия 8.3». Укажите имя машины и порт агента 1540.
- Раскройте кластер и создайте базу через контекстное меню узла «Информационные базы». Укажите СУБД, адрес сервера СУБД, имя базы и пользователя.
- Включите «Создать базу данных в случае ее отсутствия», если базы в СУБД ещё нет.
- Добавьте базу в список у клиента: «Добавить» → «На сервере 1С:Предприятия», кластер — имя сервера, база — имя из консоли.
Сразу задайте администратора кластера в свойствах кластера. Без него любой, кто дотянется до порта 1540, сможет управлять сервером.
Если удобнее командная строка, после запуска ras проверьте кластер:
rac cluster list
rac session list --cluster=<uuid_кластера> --licenses
Список остальных команд выдаёт rac help.
Как ускорить и стабилизировать сервер
Пара настроек Windows и кластера даёт заметный эффект на рабочих базах.
Настройки Windows
- ⚡ Схема электропитания «Высокая производительность». На «Сбалансированной» процессор сбрасывает частоту, и проведение документов идёт медленнее.
- 🛡 Исключения антивируса. Исключите из проверки каталог
srvinfo, каталог файлов СУБД и процессыragent.exe,rmngr.exe,rphost.exe. - 💾 Каталог данных на SSD. В
srvinfoлежат сеансовые данные и кэши, диск под ним нагружен постоянно.
Настройки кластера и рабочего сервера
В свойствах кластера задают перезапуск рабочих процессов: «Интервал перезапуска» и «Допустимый объем памяти». Это страхует от утечек памяти в долгоживущих процессах.
В свойствах рабочего сервера задают «Количество ИБ на процесс», «Количество соединений на процесс», «Максимальный объем памяти рабочих процессов» и диапазон портов. На сервере с 3-4 крупными базами полезно выставить одну базу на процесс — тогда тяжёлая операция в одной базе не тормозит остальные.
Восстановление службы после сбоя
Настройте автоматический перезапуск при падении:
sc failure "1C:Enterprise 8.3 Server Agent (x86-64)" reset= 86400 actions= restart/60000/restart/60000//
Имя службы посмотрите в её свойствах в services.msc — поле «Имя службы», а не «Отображаемое имя».
Ключ -debug в строке запуска агента включает отладку на сервере. Держите его только там, где разработчики действительно отлаживают код, — на рабочем сервере он не нужен.
Почему служба 1С не запускается и не принимает подключения
Выберите симптом, который видите, — для каждого указана причина и что проверить.
Дополнительно загляните в журнал Windows: eventvwr.msc → Журналы Windows → Система, фильтр по источнику «Service Control Manager». Там видно, когда служба упала и с каким кодом.