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

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Анализ причин возникновения ошибки

Когда мы создаем вторую службу ragent.exe, важно убедиться, что параметры запуска не конфликтуют с уже работающим экземпляром. Основные аспекты, на которые стоит обратить внимание:

Способ №1: Пересоздание службы через PowerShell

Как показывает практика, использование PowerShell для регистрации службы является более надежным способом, так как он корректнее обрабатывает аргументы командной строки и пути с пробелами. Разберем по шагам, как переустановить проблемную службу.

  1. Удаление некорректной службы: Сначала полностью удалим старую запись в диспетчере служб, чтобы очистить конфигурацию. Используйте команду sc delete ИмяСлужбы в командной строке от имени администратора.
  2. Создание службы через PowerShell: Вместо классического sc create воспользуемся командлетом New-Service. Это позволит гарантированно передать параметры запуска агента сервера 1С.

Пример команды для создания службы:


New-Service -Name \"1C_Enterprise_Test\" `
-BinaryPathName '\"C:\\Program Files\\1cv8\\8.3.22.2208\\bin\\ragent.exe\" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d \"C:\\Program Files\\1cv8\\srvinfo_Test\" -debug' `
-DisplayName \"1C:Enterprise 8.3 Server Agent (Test)\" `
-StartupType Automatic

После выполнения этой команды служба должна успешно стартовать. Если ошибка сохраняется, рекомендуем запустить исполняемый файл ragent.exe вручную из командной строки без ключа -srvc. Это позволит увидеть в консоли реальную причину сбоя (например, отсутствие прав доступа к папке srvinfo_Test).

Способ №2: Использование разных версий платформы

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

Преимущества этого подхода:

Настройка прав доступа и безопасность

Независимо от выбранного способа, убедитесь, что учетная запись, от имени которой запущена служба (например, USR1CV8), имеет полные права доступа к папке srvinfo, указанной в параметре -d. Для проверки прав доступа можно временно назначить полные права группе «Все», однако в продуктивной среде обязательно ограничьте доступ только необходимым пользователем.

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

Если все вышеперечисленные действия не привели к результату, проанализируйте логи Windows (Event Viewer), раздел «Система». Часто там содержится более подробная информация о том, почему процесс ragent.exe не смог завершить процедуру инициализации.

← На главную