Агент сервера 1С в Windows: имя службы, процессы и настройка
Содержание
Служба сервера 1С:Предприятие 8.3 в Windows обычно называется 1C:Enterprise 8.3 Server Agent (x86-64) — для 64-битного сервера. Для 32-битного суффикса нет: 1C:Enterprise 8.3 Server Agent. За службой стоит процесс ragent.exe — агент сервера, который поднимает менеджер кластера и рабочие процессы.
Точное имя на конкретной машине зависит от того, как ставили сервер: установщиком или вручную через ragent.exe -instsrvc. Поэтому надёжнее не угадывать, а посмотреть его командой sc qc или в PowerShell. Учётная запись службы по умолчанию — локальный пользователь USR1CV8, тип запуска — «Автоматически».
Как узнать точное имя службы 1С на сервере
У службы Windows два имени: отображаемое (его видно в оснастке services.msc) и системное (его требуют sc, net start и скрипты). У службы 1С они часто совпадают, но не всегда — особенно если на сервере стоят две версии платформы или службу регистрировали руками.
Самый быстрый способ — PowerShell:
Get-Service | Where-Object { $_.DisplayName -like "*1C*" } | Format-Table Name, DisplayName, Status -AutoSize
То же через командную строку:
sc query state= all | findstr /I "1C:Enterprise"
Чтобы увидеть путь к исполняемому файлу, учётную запись и параметры запуска, запросите конфигурацию службы по её системному имени:
sc qc "1C:Enterprise 8.3 Server Agent (x86-64)"
В строке BINARY_PATH_NAME будет примерно такое:
"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"
Из этой строки видно всё главное:
- 📁
bin— из какой версии платформы запущен сервер; - 🔌
-port 1540— порт агента; - 🔌
-regport 1541— порт главного менеджера кластера; - 🔢
-range 1560:1591— диапазон портов рабочих процессов; - 🗂
-d— каталогsrvinfo, где лежит реестр кластера.
Если в оснастке services.msc открыть свойства службы, имя для команд — в поле «Имя службы» на вкладке «Общие». Его и копируйте в скрипты, а не заголовок из списка.
Рядом с агентом на сервере часто встречаются ещё две службы 1С. Их тоже полезно знать по именам:
| Служба | Процесс | Порт по умолчанию | Зачем нужна |
|---|---|---|---|
| Агент сервера 1С | ragent.exe | 1540 | Основной сервер 1С:Предприятия |
| Сервер администрирования | ras.exe | 1545 | Удалённое администрирование через rac и сторонние консоли |
| Сервер хранилища | crserver.exe | 1542 | Хранилище конфигурации по протоколу tcp:// |
Службу ras установщик сам не создаёт — её регистрируют вручную, имя задаёт администратор. Поэтому ищите её тем же фильтром *1C*.
Серверные процессы и клиентские приложения: в чём разница
В диспетчере задач на сервере 1С и на компьютере бухгалтера видны разные процессы. Путаница здесь частая: «служба 1С» есть только на сервере. На рабочих местах никакой службы нет — там запускаются обычные приложения.
На сервере работает связка из трёх процессов:
ragent.exe— агент. Это единственный процесс, который запускается как служба. Принимает первое подключение клиента на порт 1540.rmngr.exe— менеджер кластера. Его запускает агент. Хранит список баз и сеансов, раздаёт соединения. Главный менеджер слушает порт 1541.rphost.exe— рабочие процессы. Их тоже поднимает агент. Именно в них выполняется код конфигурации и идут запросы к СУБД. Порты берутся из диапазона-range.
Порядок подключения такой: клиент стучится к агенту на 1540, тот направляет его к менеджеру кластера на 1541, а дальше сеанс обслуживает рабочий процесс на порту из диапазона. Диапазон портов задаётся в свойствах рабочего сервера, а не кластера.
На клиенте процессы другие:
- 🖥
1cv8.exe— толстый клиент и Конфигуратор; - 🪟
1cv8c.exe— тонкий клиент; - 🚀
1cestart.exe— стартер, окно выбора базы. Он сам ничего не считает, только запускает нужную версию клиента.
Если на сервере в диспетчере задач видно 1cv8.exe, это не служба. Скорее всего, кто-то зашёл на сервер по RDP и открыл Конфигуратор.
Файловая база служб не использует вовсе. Если базы лежат в общей папке, а пользователи подключаются по пути \\server\base, искать «службу 1С» бессмысленно — её нет. Для веб-доступа к файловой базе работает веб-сервер (IIS или Apache), а не агент 1С.
Тип запуска, учётная запись и права службы
Установщик создаёт службу с типом запуска «Автоматически» и учётной записью USR1CV8. Это локальный пользователь без прав администратора — так и задумано: сервер 1С не должен работать под администратором или LocalSystem.
Что нужно учётной записи службы
Под какой бы учётной записью ни работала служба, ей нужны:
- 🔑 право «Вход в качестве службы» (
secpol.msc→ «Локальные политики» → «Назначение прав пользователя»); - 📂 полный доступ к каталогу
srvinfo(по умолчаниюC:\Program Files\1cv8\srvinfo); - 📂 чтение и выполнение для каталога платформы
C:\Program Files\1cv8\<версия>\bin; - 📂 доступ к каталогу временных файлов профиля пользователя;
- 🗄 права на СУБД, если база работает под Windows-аутентификацией в MS SQL.
Если базе нужно читать файлы из сетевой папки (загрузка выписок, обмен через каталог), локальная USR1CV8 туда не попадёт. Тогда службу переводят на доменную учётную запись и выдают ей права на эту папку.
Как сменить учётную запись или порты
Учётную запись проще всего поменять в services.msc → свойства службы → вкладка «Вход в систему». После смены пароля пользователя его нужно ввести и здесь — иначе служба при следующем старте упадёт.
Порты и каталог srvinfo в оснастке не меняются. Их держит строка запуска службы. Есть два пути:
- Пересоздать службу через
ragent.exeс нужными параметрами (описано в разделе про реестр ниже). - Отредактировать параметр
ImagePathв ветке реестраHKLM\SYSTEM\CurrentControlSet\Services\<имя службы>.
На вкладке «Восстановление» в свойствах службы стоит выставить «Перезапуск службы» при первом и втором сбое. Если агент упадёт ночью, Windows поднимет его сама, а не утром по звонку бухгалтерии.
Служба 1С не запускается: где искать причину
Первое место — журнал Windows. Откройте eventvwr.msc → «Журналы Windows» → «Система» и отфильтруйте события по источнику Service Control Manager. Там будет код ошибки и имя службы. Второе место — журнал «Приложение», куда 1С пишет свои события.
Выберите симптом, который видите, — для каждого указана причина и что делать.
Проверить, кто держит порт, можно так:
netstat -ano | findstr ":1540 :1541"
tasklist /FI "PID eq 4321"
Вместо 4321 подставьте PID из последней колонки вывода netstat.
Остановка службы агента обрывает все сеансы всех пользователей на этом сервере. Несохранённые документы пропадут, долгие обработки прервутся. Останавливайте службу вне рабочего времени или после предупреждения пользователей и проверки списка сеансов в консоли кластера.
Ручной запуск и остановка из командной строки:
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
Таблица процессов платформы 1С 8.3
Сводная шпаргалка по исполняемым файлам из каталога bin. Пригодится, когда нужно понять, что за процесс съел память, или прописать исключения в антивирусе.
| Файл | Где работает | Что делает |
|---|---|---|
ragent.exe | Сервер | Агент сервера, запускается как служба |
rmngr.exe | Сервер | Менеджер кластера, список баз и сеансов |
rphost.exe | Сервер | Рабочий процесс, выполняет код и запросы |
ras.exe | Сервер | Сервер администрирования для rac |
rac.exe | Любая машина | Консольный клиент администрирования |
crserver.exe | Сервер хранилища | Сервер хранилища конфигурации |
1cv8.exe | Клиент | Толстый клиент и Конфигуратор |
1cv8c.exe | Клиент | Тонкий клиент |
1cestart.exe | Клиент | Стартер, окно выбора баз и версии |
Рабочих процессов rphost.exe может быть несколько — это нормально. Их число зависит от настроек рабочего сервера и нагрузки. Один rphost на сотни мегабайт или несколько гигабайт памяти — тоже обычная картина для большой базы.
В антивирусе стоит исключить каталог srvinfo и временные файлы сервера из проверки «на лету». Постоянное сканирование кэша сервера заметно тормозит работу и иногда блокирует файлы, которые 1С пытается записать.
Регистрация службы, реестр кластера и консоль администрирования
Регистрация и удаление службы вручную
Если службу нужно пересоздать — с другими портами, под другой версией или после неудачного обновления, — это делается самим ragent.exe. Запускайте командную строку от имени администратора из каталога bin нужной версии.
Удалить старую регистрацию:
cd "C:\Program Files\1cv8\8.3.24.1467\bin"
ragent.exe -rmsrvc
Зарегистрировать заново:
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start
Каталог -d указывайте прежний — тогда кластер увидит все зарегистрированные базы. Новый пустой каталог даст «чистый» сервер без баз.
Для службы сервера администрирования установщик ничего не делает, её создают через sc:
sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.24.1467\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto DisplayName= "1C:Enterprise 8.3 Remote Server"
После этого со своей машины можно смотреть кластер командой rac cluster list server:1545. Остальные команды — в справке rac help.
Где сервер хранит реестр кластера
Список баз, рабочих серверов и администраторов кластера лежит в каталоге srvinfo\reg_1541 — номер в имени папки совпадает с портом менеджера. Главный файл — 1CV8Clst.lst. Рядом лежат каталоги баз с сеансовыми данными и кэшем.
Не редактируйте 1CV8Clst.lst вручную и не удаляйте его на работающем сервере. Перед любыми работами с кластером — сменой версии, переносом сервера, правкой портов — остановите службу и скопируйте весь каталог srvinfo. Если что-то пойдёт не так, этот архив вернёт сервер в прежнее состояние за пару минут.
Если потерян пароль администратора кластера, файл тоже руками не правят. Остановите службу, верните 1CV8Clst.lst из резервной копии или обратитесь к тому, кто администрирует сервер.
Консоль «Администрирование серверов 1С Предприятия»
Графическая консоль — это оснастка MMC, которая ставится вместе с сервером. Если ярлык есть, а консоль не открывается или ругается на отсутствие компонента, нужно зарегистрировать библиотеку radmin.dll той же версии, что и сервер:
regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"
После обновления платформы эту команду повторяют для нового каталога: старая консоль не умеет работать с сервером другой версии. Сама консоль подключается к агенту на порт 1540.