Как запустить сервер 1С:Предприятия 8.3 службой Windows и настроить её

· 9 мин

Содержание

Чтобы установить сервер 1С как сервис Windows, проще всего отметить в установщике платформы компонент «Сервер 1С:Предприятия 8» и галочку установки как сервиса Windows, а затем указать учётную запись USR1CV8. Если служба уже удалена или нужна вторая копия на других портах, её регистрируют вручную: командой ragent.exe -instsrvc или sc create с параметрами -srvc -agent.

Служба называется «Агент сервера 1С:Предприятия 8.3» (в оснастке служб — 1C:Enterprise 8.3 Server Agent с указанием разрядности). Она поднимает процессы ragent (агент), rmngr (менеджер кластера) и rphost (рабочие процессы). Ниже — подготовка, обе схемы регистрации, права, автоперезапуск и разбор ошибок запуска. Инструкция актуальна для платформы 8.3.2x и Windows Server 2016 и новее.

Что подготовить до установки службы сервера 1С

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

📌 Учётная запись. Стандартный вариант — локальный пользователь USR1CV8. Установщик умеет создать его сам. В домене часто заводят доменную учётку, например CORP\svc-1c, если сервер должен обращаться к сетевым папкам с выгрузками и обменами.

📌 Права пользователя службы:

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

📌 Порты. По умолчанию: 1540 — агент, 1541 — менеджер кластера, 1560–1591 — рабочие процессы. Если позже понадобится консоль через rac, добавится порт 1545 сервера администрирования. Откройте их во входящих правилах брандмауэра Windows для клиентских машин.

Перед установкой проверьте, что порты свободны: netstat -ano | findstr :1540. Пустой вывод — порт не занят. Если строка есть, по PID в конце найдите процесс в диспетчере задач.

Готовность сервера к установке службы 1С
Выполнено: 0 / 6

Установка сервера 1С службой через дистрибутив платформы

Это основной путь. Подходит для первой установки и для обновления платформы.

  1. Запустите setup.exe из дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows» от имени администратора.
  2. На шаге выбора компонентов включите «Сервер 1С:Предприятия 8». Если нужна консоль кластера, добавьте «Администрирование сервера 1С:Предприятия».
  3. Отметьте галочку установки сервера как сервиса Windows.
  4. Выберите учётную запись: создать нового пользователя USR1CV8 с паролем или указать существующего.
  5. Завершите установку. Служба зарегистрируется со стандартными портами и типом запуска «Автоматически».

После установки откройте services.msc и убедитесь, что служба агента сервера 1С в состоянии «Выполняется».

Установщик ставит сервер только на стандартные порты 1540/1541/1560:1591. Для второго экземпляра на той же машине службу придётся регистрировать вручную.

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

Регистрация службы агента 1С вручную: ragent и sc create

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

Способ 1. Ключ -instsrvc у ragent.exe

Агент сам умеет зарегистрировать себя службой. Командная строка запускается от имени администратора:

cd "C:\Program Files\1cv8\8.3.24.1691\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd "Пароль" -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

Номер версии в пути подставьте свой. Удаляют такую службу ключом -rmsrvc, останавливают — -stop.

Способ 2. Команда sc create

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

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\" -debug" start= auto obj= ".\USR1CV8" password= "Пароль" DisplayName= "Агент сервера 1С 8.3.25 (порт 2541)"
sc start "1C:Enterprise 8.3 Server Agent 2541"

Синтаксис sc капризен:

  • 🔸 после binPath=, start=, obj= обязателен пробел, перед знаком равенства — нет;
  • 🔸 кавычки внутри binPath экранируются обратной косой чертой \";
  • 🔸 ключи -srvc -agent обязательны: без них ragent.exe не поймёт, что работает службой, и Windows вернёт ошибку 1053.
ПараметрЧто задаётПример
-portпорт агента сервера1540
-regportпорт менеджера кластера1541
-rangeдиапазон портов рабочих процессов1560:1591
-dкаталог данных кластера (реестр кластера, сеансовые данные)C:\Program Files\1cv8\srvinfo
-debugразрешить отладку на серверебез значения

Для второго экземпляра меняйте все три порта и каталог -d одновременно. Два агента с одним каталогом srvinfo испортят реестр кластера.

Ключ -debug в рабочей среде оставляйте только на время отладки — он открывает возможность подключения отладчика к серверу.

Учётная запись и параметры запуска службы 1С

Пароль, тип запуска и учётку можно поменять без перерегистрации.

Через оснастку. services.msc → свойства службы агента:

  • вкладка «Общие» — тип запуска «Автоматически» или «Автоматически (отложенный запуск)»;
  • вкладка «Вход в систему» — учётная запись и пароль.

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

Через командную строку:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" obj= ".\USR1CV8" password= "НовыйПароль"
sc config "1C:Enterprise 8.3 Server Agent (x86-64)" start= delayed-auto

Точное имя службы посмотрите командой sc query state= all | findstr /i "1C" — оно зависит от способа регистрации.

Переезд на новую версию платформы без переустановки службы. Если новая платформа установлена без компонента сервера, путь к ragent.exe можно поменять:

sc config "1C:Enterprise 8.3 Server Agent (x86-64)" binPath= "\"C:\Program Files\1cv8\8.3.25.1374\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\" -debug"

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

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

Автоматический перезапуск при сбое службы

Если ragent аварийно завершится, Windows может поднять его сама. Настройка — вкладка «Восстановление» в свойствах службы:

  • первый сбой — «Перезапуск службы»;
  • второй сбой — «Перезапуск службы»;
  • последующие сбои — «Перезапуск службы» или «Не выполнять никаких действий», чтобы не войти в бесконечный цикл;
  • «Сбрасывать счётчик ошибок через» — 1 сутки;
  • «Перезапуск службы через» — 1 минута.

То же из командной строки:

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

reset задаётся в секундах, задержки в actions — в миллисекундах. Флаг failureflag 1 заставляет Windows применять действия восстановления и тогда, когда служба остановилась с кодом ошибки, а не только при падении процесса.

Автоперезапуск агента не лечит зависшие рабочие процессы rphost. Для них в консоли кластера есть свои механизмы: в свойствах рабочего сервера задаются ограничения по памяти, а в свойствах кластера — интервал перезапуска рабочих процессов. Ставить там интервал имеет смысл, если память rphost растёт без возврата.

Почему служба сервера 1С не запускается

Код ошибки Windows показывает при ручном старте из оснастки или в выводе sc start. По нему причина находится быстро.

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

Ещё одна причина, которую часто ищут не там: в каталоге srvinfo остался реестр кластера от другой версии или с другими портами. Агент читает его при старте. Не удаляйте каталог srvinfo целиком — в нём список информационных баз кластера и их параметры. Сначала сделайте копию каталога, а исправлять реестр кластера лучше через консоль администрирования.

Как проверить службу и следить за её состоянием

Статус и настройки службы:

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

sc qc показывает фактический binPath, тип запуска и учётную запись. Это первое, что стоит сравнить при любой странности после обновления.

В PowerShell то же короче:

Get-Service | Where-Object DisplayName -like "*1C*"
Get-Process ragent, rmngr, rphost -ErrorAction SilentlyContinue | Select-Object Name, Id, WorkingSet64

Журналы Windows. В eventvwr.msc → Журналы Windows → Система фильтруйте источник Service Control Manager:

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

Сообщения самой платформы ищите в журнале «Приложение».

Порты. netstat -ano | findstr ":1540 :1541" должен показать состояние LISTENING и PID процесса ragent/rmngr.

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

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

После этого rac localhost:1545 cluster list вернёт список кластеров, а rac session list --cluster=<id> — текущие сеансы. Остальные команды смотрите в rac help.

Для подробной диагностики включают технологический журнал: файл logcfg.xml в каталоге conf платформы. Включайте его на ограниченный набор событий и на время разбора — журнал быстро занимает диск.

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

Можно ли запустить сервер 1С без службы, просто процессом?
Да, ragent.exe запускается из командной строки без ключа -srvc. Но он работает, пока открыт сеанс пользователя Windows, и не стартует после перезагрузки. Для рабочего сервера это не подходит.
Сколько экземпляров сервера 1С можно запустить на одной машине?
Технически несколько — каждый со своими портами, каталогом srvinfo и службой. Обычно держат два: рабочий и тестовый для проверки новой версии платформы.
Нужна ли лицензия на сервер, чтобы служба запустилась?
Служба агента стартует без лицензии. Лицензия на сервер проверяется, когда рабочий процесс обслуживает сеансы пользователей. Без неё клиенты не смогут подключиться к базам.
Как полностью удалить службу сервера 1С?
Остановите её в нерабочее время, затем выполните sc delete "имя службы" или ragent.exe -rmsrvc из каталога bin. Каталог srvinfo при этом не удаляется — сохраните его, если базы ещё нужны.
Подойдёт ли учётная запись LocalSystem?
Подойдёт для теста. В рабочей среде лучше отдельный пользователь: у LocalSystem максимальные права на машине, а при обращении к сетевым ресурсам она выступает как учётная запись компьютера.