При администрировании систем на базе 1С часто возникает необходимость одновременной работы нескольких версий платформы. Например, когда одна информационная база требует специфической старой версии (например, 8.3.10), а остальные работают на актуальной (8.3.13 и выше). В этой ситуации мы сталкиваемся с необходимостью ручной настройки служб Windows, так как стандартный инсталлятор 1С обычно предлагает управление только одной версией службы ragent. Рассмотрим подробно, как правильно настроить вторую службу и что делать, если она отказывается запускаться, выдавая Ошибку 1053: Служба не ответила на запрос своевременно.
Для начала проанализируем, как должна выглядеть строка запуска агента сервера 1С. Когда мы устанавливаем вторую версию платформы без автоматического создания службы, нам необходимо зарегистрировать её в операционной системе вручную через утилиту sc. Основная сложность заключается в правильном распределении портов, чтобы две службы не конфликтовали между собой.
Стандартные порты 1С: 1540 (агент), 1541 (главный менеджер кластера), 1560-1591 (диапазон рабочих процессов). Для второй службы мы должны выбрать свободные порты, например: 2540, 2541 и 2560-2591 соответственно.
Разберем основные ключи исполняемого файла ragent.exe:
-srvc — указывает, что процесс запускается как служба.-agent — запуск в режиме агента сервера.-regport — порт главного менеджера кластера (по умолчанию 1541, меняем на 2541).-port — порт агента сервера (по умолчанию 1540, меняем на 2540).-range — диапазон портов для рабочих процессов (меняем на 2560:2591).-d — путь к каталогу данных кластера (важно создать отдельную папку для новой версии).Рассмотрим пример проверенного сценария (bat-файла) для регистрации службы. Этот способ позволяет избежать опечаток при вводе длинных команд в консоли. Обратите внимание на важную особенность команды sc create: после знака «равно» (=) обязательно должен стоять пробел.
Проанализируем структуру скрипта:
echo off
rem %1 - полный номер версии 1С (например, 8.3.10.2561)
rem %2 - каталог с данными реестра кластера (например, "D:\1cv8.3.10\srvinfo")
set SrvUserName=.\USR1CV8
set SrvUserPwd=ВашПароль
set RangePort=2560:2591
set BasePort=2541
set CtrlPort=2540
set SrvcName="1C:Enterprise 8.3 Server Agent %CtrlPort% %1"
set BinPath="\"C:\Program Files (x86)\1cv8\%1\bin\ragent.exe\" -debug -srvc -agent -regport %BasePort% -port %CtrlPort% -range %RangePort% -d \"%~2\""
set Desctiption="1C:Enterprise 8.3 Server Agent %1, %CtrlPort%, %BasePort%, %RangePort%"
if not exist "%~2" mkdir "%~2"
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Dnscache/Tcpip/lanmanworkstation/lanmanserver
После создания службы через такой скрипт она должна появиться в списке services.msc. Однако часто при попытке запуска возникает ошибка тайм-аута (1053).
Выясним причину, по которой служба не стартует. Ошибка 1053 — это «заглушка», которая говорит лишь о том, что процесс ragent.exe не смог инициализироваться за отведенные 30 секунд. Чтобы увидеть реальную причину сбоя (отсутствие прав, конфликт портов или нехватка библиотек), нужно запустить агента вручную в консоли.
Выполним следующие шаги:
-srvc.
"C:\Program Files (x86)\1cv8\8.3.10.2561\bin\ragent.exe" -debug -agent -regport 2541 -port 2540 -range 2560:2591 -d "D:\1cv8.3.10\srvinfo"
В этом режиме консоль покажет все сообщения об ошибках, которые ragent выводит при старте. Если процесс сразу закрывается или пишет «Порт занят», мы мгновенно поймем локализацию проблемы.
Если запуск в режиме приложения также не помог выявить проблему, проанализируем неочевидные факторы, влияющие на работу двух серверов 1С:
1. Конфликт в файлах настроек (.lst)
Если вы копировали папку srvinfo из другой инсталляции, сервер 1С при старте считывает файл 1CV8Reg.lst. Внутри этого файла могут быть жестко прописаны старые порты (например, 1541). Когда служба пытается подняться на порту 2541 (согласно ключам запуска), но видит в конфиге 1541, происходит конфликт, и процесс «зависает».
Решение: При первом запуске новой службы папка srvinfo должна быть пустой. Программа сама создаст чистые файлы конфигурации с правильными портами.
2. Права доступа пользователя службы
Пользователь, от имени которого запускается служба (например, USR1CV8), должен иметь полные права на:
8.3.10.2561.srvinfo.C:\Windows\Temp).Если прав недостаточно, ragent не сможет создать файл блокировки или записать лог, что приведет к ошибке 1053.
3. Компоненты Visual C++ Redistributable
Разные версии 1С зависят от разных версий библиотек Microsoft Visual C++. Версия 8.3.10 может требовать пакеты 2010 или 2012 годов, которые могут отсутствовать на новом сервере, где установлены только свежие библиотеки для версии 8.3.13. Проверьте наличие установленных компонентов vcredist обеих разрядностей (x86 и x64).
4. Увеличение времени ожидания в реестре
Иногда серверу 1С действительно требуется больше 30 секунд для инициализации (особенно если баз много или дисковая подсистема медленная). Мы можем увеличить лимит ожидания ответа от служб в реестре Windows:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control.ServicesPipeTimeout (тип DWORD).60000 (60 секунд) или более.Проанализировав вышеперечисленные шаги и выполнив тестовый запуск через командную строку, вы сможете успешно запустить несколько экземпляров сервера 1С на одном оборудовании, обеспечив стабильную работу различных версий платформы.