Как запустить сервер 1С:Предприятия 8.3 и включить отладку на нём

· 9 мин

Содержание

Сервер 1С:Предприятия 8.3 запускается одной программой — агентом ragent.exe. В рабочем режиме его стартует служба Windows 1C:Enterprise 8.3 Server Agent (x86-64) с ключом -srvc, для отладки к той же командной строке добавляют -debug -http, а для диагностики агент можно запустить вручную в окне cmd и увидеть ошибку прямо на экране.

Всё администрирование сервера сводится к трём вещам: правильная командная строка агента, учётная запись службы с правами на каталог srvinfo и свободные порты 1540, 1541 и диапазон рабочих процессов. Команды и пути даны для Windows Server 2016 и новее, для Linux — отдельный короткий раздел.

Из чего состоит сервер 1С и в каком порядке стартуют процессы

Сервер — это не один процесс, а цепочка. Когда знаешь, кто кого запускает, сбой старта быстро сводится к одному звену.

ПроцессЧто делаетПорт по умолчанию
ragent.exeАгент сервера: принимает первое подключение клиента и консоли1540
rmngr.exeМенеджер кластера: хранит список баз, сеансы, блокировки1541
rphost.exeРабочие процессы: выполняют серверный код конфигурации1560–1591
ras.exeСервер администрирования для утилиты rac и сторонних консолей1545
dbgs.exeСервер отладки по HTTP1550

Порядок такой:

  1. Служба запускает ragent.exe.
  2. Агент поднимает менеджер кластера rmngr.exe.
  3. Менеджер запускает рабочие процессы rphost.exe по настройкам рабочего сервера.
  4. Клиент сначала стучится к агенту на 1540, тот направляет его к менеджеру кластера на 1541, а затем — к одному из рабочих процессов из диапазона.

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

Настройки кластера хранятся в каталоге srvinfo. По умолчанию это C:\Program Files\1cv8\srvinfo, внутри — папка reg_1541 с файлом реестра кластера 1CV8Clst.lst и подпапками баз.

Служба Windows: как сервер 1С стартует в штатном режиме

При установке платформы с компонентом «Сервер 1С:Предприятия» мастер предлагает установить его как службу. Если галку сняли или служба пропала после обновления, её можно зарегистрировать вручную.

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

Откройте cmd от имени администратора, перейдите в каталог bin нужной версии платформы и выполните:

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

Что означают ключи:

  • 🔹 -instsrvc — зарегистрировать службу;
  • 🔹 -usr и -pwd — учётная запись, от которой работает служба;
  • 🔹 -regport — порт менеджера кластера;
  • 🔹 -port — порт агента;
  • 🔹 -range — диапазон портов рабочих процессов;
  • 🔹 -d — каталог данных кластера;
  • 🔹 -start и -stop — запуск и остановка зарегистрированной службы;
  • 🔹 -rmsrvc — удалить службу.

Номер версии в пути 8.3.xx.xxxx замените на установленный. Если на сервере стоит несколько версий, служба будет запускать ту, из каталога которой её зарегистрировали.

Где посмотреть фактическую командную строку

Откройте services.msc, найдите службу агента, вкладка «Общие», поле «Исполняемый файл». Там будет примерно так:

"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Та же строка хранится в реестре, в параметре ImagePath ветки службы:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)

Учётная запись службы

Служба не обязана работать от администратора. Обычно заводят локального пользователя USR1CV8 и дают ему:

  • ✅ право «Вход в качестве службы» в локальной политике безопасности (secpol.msc → «Локальные политики» → «Назначение прав пользователя»);
  • ✅ полные права на каталог srvinfo;
  • ✅ права на чтение каталога платформы;
  • ✅ доступ к СУБД, если используется проверка подлинности Windows.

Ручной запуск агента в окне cmd для диагностики

Когда служба стартует и сразу падает, в оснастке служб видно только «служба запущена и затем остановлена». Причину проще увидеть, запустив агент вручную, без ключа -srvc.

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

sc stop "1C:Enterprise 8.3 Server Agent (x86-64)"
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Агент останется в окне консоли. Если порт занят, каталог недоступен или повреждён файл реестра кластера, сообщение появится прямо там. Остановить агент — Ctrl+C, после чего снова запустите службу.

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

Этот приём полезен и в тестовой среде: можно поднять второй экземпляр сервера на других портах, например -port 2540 -regport 2541 -range 2560:2591 и отдельным каталогом -d, не трогая основной кластер.

Режим отладки на сервере 1С 8.3

Без отладки на сервере точки останова в серверных процедурах (&НаСервере, общие модули, обработчики проведения) не срабатывают. Включается она ключом агента.

Какой протокол выбрать

ВариантКлючи агентаКогда использовать
TCP-debug или -debug -tcpСтарый механизм, только Конфигуратор
HTTP-debug -httpРекомендуемый: работает и с Конфигуратором, и с EDT, проходит через сетевые экраны

При HTTP-отладке платформа поднимает сервер отладки dbgs.exe, по умолчанию на порту 1550.

Как включить

  1. Остановите службу агента (сеансы оборвутся).
  2. Откройте regedit и найдите параметр ImagePath службы, путь показан выше.
  3. Допишите в конец строки -debug -http.
  4. Запустите службу и убедитесь в диспетчере задач, что появился процесс dbgs.exe.

Альтернатива — удалить службу через ragent.exe -rmsrvc и зарегистрировать заново с ключом -debug в команде -instsrvc.

Подключение отладчика

В Конфигураторе откройте меню Отладка → Подключение. Там видны предметы отладки: клиентские сеансы и серверные процессы. Чтобы не подключаться каждый раз руками, нажмите «Автоматическое подключение» и отметьте нужные виды предметов — сервер, тонкий клиент, фоновые задания.

Протокол отладки в настройках Конфигуратора (параметры отладки в меню Сервис → Параметры) должен совпадать с ключом агента. Если у агента -http, а в Конфигураторе выбран TCP, сервер в списке предметов не появится.

Не оставляйте отладку включённой на рабочем сервере постоянно. Она добавляет нагрузку, а остановка на точке прерывания в серверном коде держит транзакцию и блокировки — пользователи ждут, пока программист нажмёт «Продолжить».

Консоль администрирования кластера: установка и работа

Оснастка «Администрирование серверов 1С Предприятия» — стандартный инструмент для кластера на Windows. Она ставится вместе с платформой, но часто не открывается: оснастку нужно зарегистрировать.

Регистрация radmin.dll

Это главный приём, если консоль пишет, что не удаётся создать оснастку, или после обновления платформы перестала работать.

cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
regsvr32 radmin.dll

В каталоге bin есть и готовый скрипт RegMSC.cmd, который делает то же самое. Запускайте от администратора. Версия зарегистрированной radmin.dll должна совпадать с версией сервера, к которому подключаетесь, иначе консоль сообщит о несовпадении версий.

Первое подключение

  1. Запустите оснастку из меню «Пуск» или откройте файл 1CV8 Servers.msc.
  2. Правой кнопкой по корню → «Создать» → «Центральный сервер 1С:Предприятия 8.3».
  3. Укажите имя компьютера и порт агента — 1540.
  4. Раскройте дерево: «Кластеры» → кластер → «Информационные базы», «Рабочие процессы», «Сеансы», «Блокировки».

Что делают из консоли чаще всего:

  • 🛠 создают и удаляют информационные базы на сервере;
  • 🛠 смотрят и завершают зависшие сеансы;
  • 🛠 ставят блокировку начала сеансов и регламентных заданий перед обновлением;
  • 🛠 добавляют администраторов кластера и центрального сервера;
  • 🛠 настраивают рабочие серверы и требования назначения функциональности.

Если задать администратора кластера и забыть пароль, войти в кластер не получится. Восстанавливать доступ — остановкой службы и возвратом файла реестра кластера из резервной копии, либо через того, кто настраивал сервер. Пересоздавать кластер с нуля не нужно.

RAS и rac — консоль из командной строки

На Linux оснастки MMC нет, а скрипты на Windows удобнее писать через rac. Для этого нужен сервер администрирования ras.exe. Разово его запускают так:

ras.exe cluster --port=1545 localhost:1540

А для постоянной работы регистрируют службой:

sc create "1C:Enterprise 8.3 Remote Server" binPath= "\"C:\Program Files\1cv8\8.3.xx.xxxx\bin\ras.exe\" cluster --service --port=1545 localhost:1540" start= auto

После этого rac подключается к порту 1545:

rac.exe cluster list localhost:1545
rac.exe session list --cluster=<uuid-кластера> localhost:1545

Идентификатор кластера берётся из вывода первой команды. Полный список команд и параметров — в rac help.

Запуск сервера 1С на Linux: коротко

На Linux тот же агент запускается демоном. Платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/, и в новых версиях вместе с ней идут юниты systemd. Проверить состояние и посмотреть журнал:

systemctl list-units | grep 1cv8
journalctl -u <имя-юнита> -n 100

Отладку включают так же — ключом -debug -http в строке запуска ragent, только правят не реестр, а файл юнита или его переопределение через systemctl edit. Права на каталог данных кластера должен иметь пользователь usr1cv8.

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

Большинство сбоев видно в «Журнале событий Windows» → «Журналы Windows» → «Приложение» и «Система». Начните оттуда, затем сверьтесь с таблицей.

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

Очистка сеансовых данных сервера

Если сервер стартует, но базы тормозят или в консоли висят «мёртвые» сеансы, помогает очистка кэша сеансовых данных. Это папки с именем, начинающимся на snccntx, внутри srvinfo\reg_1541.

  1. Сделайте копию каталога srvinfo.
  2. Остановите службу агента — все пользователи будут отключены.
  3. Удалите только папки snccntx*. Файл 1CV8Clst.lst и папки с идентификаторами баз не трогайте.
  4. Запустите службу.

Технологический журнал

Когда журнала Windows мало, включают технологический журнал. Файл logcfg.xml кладут в каталог bin\conf платформы, в нём задают папку для логов и события, например исключения EXCP. Писать «всё подряд» на рабочем сервере не стоит: за час журнал легко вырастает до гигабайтов.

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

Можно ли запустить сервер 1С без службы, просто программой?
Да. Агент ragent.exe без ключа -srvc работает в окне консоли, пока открыто окно и выполнен вход пользователя. Для постоянной работы это неудобно, но для теста и диагностики подходит.
Как держать на одном компьютере две версии сервера 1С?
Зарегистрируйте для каждой версии свою службу с разными портами (например, 1540/1541 и 2540/2541), разными диапазонами рабочих процессов и отдельными каталогами srvinfo.
Влияет ли ключ -debug на лицензии?
Нет, отладка не расходует отдельных лицензий. Но подключённый отладчик замедляет серверные вызовы, поэтому на рабочем сервере его включают только на время поиска ошибки.
Где посмотреть, какой порт использует сервер отладки?
В диспетчере задач найдите процесс dbgs.exe и проверьте его порты через netstat -ano по PID. По умолчанию это 1550.
Нужна ли консоль кластера на самом сервере?
Нет. Оснастку можно поставить на рабочую станцию администратора: достаточно установить платформу той же версии и зарегистрировать radmin.dll.