К статье
Практический материал

Администрирование · 11 мин

Запуск 1С как служба Windows: полное руководство

Как запустить сервер 1С:Предприятие как службу Windows: регистрация агента, параметры srvany и sc, настройка автозапуска, проверка и типичные ошибки.

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

По умолчанию установщик сервера 1С сам предлагает зарегистрировать агент сервера как службу Windows. Однако на практике встречаются ситуации, когда служба не создана, удалена, сломана после обновления платформы или её нужно перенастроить под другую учётную запись. В таких случаях регистрацию выполняют вручную через командную строку или с помощью утилиты sc.exe.

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

Зачем запускать 1С как службу и когда это не нужно

Служба Windows — это процесс, управляемый операционной системой: она стартует до входа пользователя, перезапускается при сбое (если настроено восстановление) и не зависит от открытых сеансов. Для сервера 1С это означает, что база доступна пользователям сразу после перезагрузки сервера, без необходимости заходить на машину и запускать агент вручную.

Если агент сервера запущен как обычное приложение в сеансе администратора, то при выходе из системы (logoff) процесс завершается, и все пользователи теряют соединение с базой. Это типичная причина «ночных отвалов» 1С на небольших серверах, где платформу установили с настройками по умолчанию, но службу не проверили.

Запуск как приложение допустим только для временной отладки: например, когда нужно увидеть вывод агента в консоли или продиагностировать проблему старта. В постоянной эксплуатации — только служба.

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

Перед созданием службы убедитесь, что установлена компонента «Сервер 1С:Предприятие» нужной версии платформы и разрядности. Каталог установки обычно выглядит как C:\Program Files\1cv8\<номер версии>\bin — именно оттуда берётся исполняемый файл ragent.exe.

Определите учётную запись, от имени которой будет работать служба. По умолчанию при установке создаётся локальный пользователь USR1CV8. Подойдёт и другая учётная запись, но у неё обязательно должны быть права на каталог служебных файлов кластера (по умолчанию srvinfo в каталоге установки или в профиле), а также сетевой доступ к серверу СУБД, если используется клиент-серверный режим.

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

Штатная регистрация службы агента сервера

Штатный способ — команда регистрации службы, встроенная в ragent.exe. Командную строку запускают от имени администратора, переходят в каталог bin нужной версии платформы и выполняют регистрацию с параметрами.

Ключевая команда выглядит так:

cmd
cd "C:\Program Files\1cv8\8.3.22.1750\bin"
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ПарольПользователя -d "C:\Program Files\1cv8\srvinfo"

Параметры команды: -instsrvc — зарегистрировать службу, -usr и -pwd — учётная запись и пароль, от имени которых она будет работать, -d — путь к каталогу кластера. Если версий платформы несколько, в пути укажите ту, которая должна быть основной: служба привязана к конкретному исполняемому файлу конкретной версии.

После успешного выполнения в оснастке services.msc появится служба «Агент сервера 1С:Предприятия 8.3» с типом запуска «Автоматически». Запустите её вручную первый раз и убедитесь, что она переходит в состояние «Работает».

Порядок действий
  1. 1
    Откройте командную строку от имени администратора
  2. 2
    Перейдите в каталог bin нужной версии платформы
  3. 3
    Выполните ragent.exe -instsrvc с указанием учётной записи и каталога кластера
  4. 4
    Откройте services.msc и найдите службу агента сервера 1С
  5. 5
    Запустите службу и проверьте состояние «Работает»
  6. 6
    Подключитесь консолью администрирования к кластеру и убедитесь, что он виден

Ручное создание службы через sc.exe

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

cmd
sc create "1C:Enterprise 8.3 Server Agent" binPath= "\"C:\Program Files\1cv8\8.3.22.1750\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\"" start= auto obj= ".\USR1CV8" password= "ПарольПользователя"

Обратите внимание на синтаксис sc.exe: пробел после знака равенства в каждом параметре обязателен (binPath= «...», start= auto), а кавычки внутри пути экранируются обратным слэшем. Ошибка в пробелах — самая частая причина, почему команда «не работает».

Параметр -range задаёт диапазон портов рабочих процессов. Если на сервере действует брандмауэр, откройте порты агента (по умолчанию 1540, 1541, 1560–1591) для входящих подключений, иначе клиенты не смогут подключиться к кластеру даже при работающей службе.

Проверка результата и диагностика

После запуска службы проверку выполняют в три этапа: состояние службы, доступность кластера и подключение клиента. Сначала в services.msc убедитесь, что служба в состоянии «Работает» и тип запуска — «Автоматически».

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

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

Контрольные точки

Как проверить результат

Состояние службы в services.msc
Норма

Статус «Работает», запуск «Автоматически»

Тревожный признак

Служба остановлена или падает сразу после старта

Кластер в консоли администрирования
Норма

Кластер виден, есть рабочие процессы и базы

Тревожный признак

Кластер пуст или сервер недоступен

Прослушивание портов (netstat -an)
Норма

Порты 1540, 1541, 1560+ в состоянии LISTENING

Тревожный признак

Порты не прослушиваются — агент не стартовал

Доступность после перезагрузки
Норма

Служба стартует сама, клиенты подключаются

Тревожный признак

После перезагрузки база недоступна до ручного запуска

Типичные ошибки и их устранение

Самая распространённая проблема — служба не стартует с ошибкой доступа. Причина почти всегда в правах учётной записи: у пользователя службы нет полного доступа к каталогу srvinfo или к сетевым ресурсам СУБД. Назначьте права явно и перезапустите службу.

Вторая типичная ситуация — конфликт портов. Если на машине уже работает другой экземпляр агента (например, оставшийся от старой установки), новая служба не сможет занять стандартные порты. Удалите старую службу командой ragent -rmsrvc или sc delete, либо назначьте новому агенту другой диапазон портов.

Третья ошибка — служба запускается, но кластер «пустой», базы пропали. Это значит, что служба стартовала с другим каталогом кластера: реестр баз хранится в srvinfo, и при смене пути создаётся новый пустой кластер. Укажите в параметре -d прежний каталог или перенесите его содержимое.

Типичные ошибки
01
Регистрация службы без прав администратора — команда завершается молча или с ошибкой, служба не создаётся
02
Пропуск пробелов после «=» в sc.exe — синтаксическая ошибка, служба не регистрируется
03
Смена каталога srvinfo без переноса данных — кластер стартует пустым, базы «исчезают»
04
Забытое обновление пути к ragent.exe после установки новой платформы — сервер работает на старой версии
05
Закрытые порты в брандмауэре — служба работает, но клиенты не подключаются

Ограничения, безопасность и сопровождение

Служба агента сервера управляет только сервером приложений. СУБД (MS SQL, PostgreSQL) — это отдельные службы, и их автозапуск настраивается независимо. Порядок загрузки имеет значение: если агент 1С стартует раньше, чем поднимется SQL-сервер, первые подключения могут завершиться ошибкой. На медленных серверах службе агента иногда задают тип запуска «Автоматически (отложенный запуск)».

Пароль учётной записи службы хранится в конфигурации службы Windows. При смене пароля пользователя (например, по доменной политике) служба перестанет запускаться — обновите пароль в свойствах службы на вкладке «Вход в систему» после каждой смены.

Для файловых баз, опубликованных через веб-сервер, описанная схема не нужна: там работает служба веб-сервера (IIS или Apache), а не агент сервера. Запуск 1С как службы актуален именно для клиент-серверной архитектуры с кластером.

Итог

Что важно запомнить

Сервер 1С в рабочей эксплуатации должен работать только как служба Windows. Регистрация выполняется командой ragent -instsrvc или через sc.exe, обязательно с правильной учётной записью, каталогом кластера и открытыми портами. После каждого обновления платформы службу перерегистрируют, а результат проверяют по состоянию службы, видимости кластера и подключению клиента.

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

Можно ли запустить файловую базу 1С как службу?

Нет, файловая база сама по себе службой не работает. Варианты автономного доступа к ней — публикация через веб-сервер (IIS или Apache, который сам работает как служба) либо перевод базы в клиент-серверный режим с агентом сервера 1С.

Служба падает сразу после запуска — с чего начать?

Откройте «Просмотр событий» Windows, раздел «Система» и «Приложение», и найдите ошибку службы. Чаще всего это недостаток прав учётной записи на каталог srvinfo, неверный пароль или занятые порты. Проверьте также, что путь к ragent.exe в свойствах службы указывает на существующий файл.

Нужно ли пересоздавать службу при обновлении платформы?

Да. Служба жёстко привязана к исполняемому файлу конкретной версии. После установки новой платформы удалите старую службу (ragent -rmsrvc или sc delete) и зарегистрируйте новую с путём к обновлённому ragent.exe, сохранив прежний каталог кластера.

Как перенести кластер на другой сервер?

Остановите службу на старом сервере, скопируйте каталог srvinfo на новую машину, установите там сервер 1С той же или более новой версии и зарегистрируйте службу с параметром -d, указывающим на скопированный каталог. Реестр баз и настройки кластера сохранятся.

Можно ли запускать службу от системной учётной записи LocalSystem?

Технически можно, но не рекомендуется: у LocalSystem могут быть проблемы с доступом к сетевым ресурсам и SQL-серверу с проверкой подлинности Windows. Практичнее выделенная учётная запись с явно выданными правами на каталог кластера и доступом к СУБД.

Как настроить автоматический перезапуск службы при сбое?

В свойствах службы на вкладке «Восстановление» задайте действия при первом, втором и последующих сбоях — например, «Перезапуск службы» с интервалом в одну минуту. Это повышает доступность сервера при разовых сбоях, но не заменяет поиска причины повторяющихся падений.