Агент сервера 1С:Предприятия не стартует: запуск службы, порты, права и журналы

· 9 мин

Содержание

Чтобы запустить службу агента сервера 1С:Предприятия в Windows, откройте services.msc, найдите службу «Агент сервера 1С:Предприятия 8.3» и нажмите «Запустить» — или выполните net start с её именем от администратора. В Linux агент запускается как юнит systemd: systemctl start srv1cv8-<версия>@default. Если служба стартует и сразу останавливается, причина почти всегда в одном из трёх мест: занятый порт 1540/1541, нет прав у учётной записи службы на каталог srvinfo или неверный пароль этой учётной записи.

Что делает агент сервера и почему без него ничего не работает

Агент сервера (процесс ragent) — входная точка кластера 1С. Клиент сначала обращается к агенту, тот передаёт его менеджеру кластера (rmngr), а менеджер выделяет соединение с рабочим процессом (rphost), где и выполняется код конфигурации.

Как это выглядит по портам при стандартной установке:

ПроцессЧто делаетПорт по умолчанию
ragentагент сервера, принимает первое обращение клиента и консоли1540
rmngrменеджер кластера, хранит реестр баз и сеансов1541
rphostрабочие процессы, выполняют серверный коддиапазон 1560–1591
rasсервер администрирования для rac и сторонних консолей1545

Отсюда практичное следствие. Если служба агента не запущена, не открывается ни одна клиент-серверная база на этом сервере, а консоль кластера выдаёт ошибку соединения. Менеджер кластера и рабочие процессы агент поднимает сам — отдельно их запускать не нужно.

Консоль администрирования серверов 1С подключается именно к агенту, на порт 1540. Если консоль не видит сервер, а служба работает, проверьте, что в консоли указан тот же порт, с которым зарегистрирована служба.

Как запустить службу агента сервера 1С в Windows

Через оснастку «Службы»

  1. Нажмите Win + R, введите services.msc.
  2. Найдите службу «Агент сервера 1С:Предприятия 8.3» — для 64-разрядного сервера в названии стоит (x86-64).
  3. В свойствах службы проверьте тип запуска «Автоматически».
  4. Нажмите «Запустить» и дождитесь статуса «Выполняется».

Если служб несколько (стоят разные версии платформы), откройте свойства и посмотрите поле «Исполняемый файл»: там виден путь с номером версии, например C:\Program Files\1cv8\8.3.24.1467\bin\ragent.exe.

Из командной строки или PowerShell

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

Get-Service *1C*

Затем запуск, остановка и проверка состояния (от имени администратора):

Start-Service "1C:Enterprise 8.3 Server Agent (x86-64)"
Stop-Service "1C:Enterprise 8.3 Server Agent (x86-64)"
Get-Service "1C:Enterprise 8.3 Server Agent (x86-64)"

То же через cmd:

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

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

Если службы нет в списке

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

Второй путь — зарегистрировать службу вручную через сам ragent.exe:

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

Удаляется служба так же: ragent.exe -rmsrvc. Номер версии в пути замените на свой.

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

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

  • 🔑 право «Вход в качестве службы» (локальная политика безопасности, раздел назначения прав пользователей);
  • 📁 полный доступ к каталогу кластера srvinfo (обычно C:\Program Files\1cv8\srvinfo);
  • 📂 чтение каталога платформы C:\Program Files\1cv8\<версия>;
  • 🗄️ доступ к каталогам, куда пишется технологический журнал и выгрузки.

Если вы сменили пароль USR1CV8 в Windows, его нужно ввести заново и на вкладке «Вход в систему» в свойствах службы. Иначе после перезагрузки служба не стартует с ошибкой 1069.

Запуск сервера 1С в Linux через systemd

С платформы 8.3.21 сервер 1С для Linux ставится с юнит-файлом systemd в каталоге платформы. Старый скрипт /etc/init.d/srv1cv83 и файл настроек /etc/sysconfig/srv1cv83 относятся к более ранним версиям — если у вас платформа новее, ориентируйтесь на systemd.

Подключение и запуск юнита

Пусть установлена версия 8.3.24.1467 в каталог по умолчанию:

sudo systemctl link /opt/1cv8/x86_64/8.3.24.1467/srv1cv8-8.3.24.1467@.service
sudo systemctl enable srv1cv8-8.3.24.1467@default
sudo systemctl start srv1cv8-8.3.24.1467@default
sudo systemctl status srv1cv8-8.3.24.1467@default

Часть после @ — имя экземпляра. default поднимает сервер со стандартными портами. Команда enable включает автозапуск при загрузке системы.

Параметры экземпляра

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

sudo systemctl edit srv1cv8-8.3.24.1467@default
sudo systemctl daemon-reload
sudo systemctl restart srv1cv8-8.3.24.1467@default

Какие переменные доступны, видно в самом юнит-файле: откройте его через systemctl cat srv1cv8-8.3.24.1467@default.

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

Сервер в Linux работает от пользователя usr1cv8, который создаётся при установке. Каталог кластера по умолчанию — /home/usr1cv8/.1cv8/1C/1cv8. Если вы перенесли его на отдельный диск, проверьте владельца:

sudo chown -R usr1cv8:grp1cv8 /data/srvinfo

Частая ловушка в Linux — имя хоста. Сервер 1С регистрирует кластер по имени машины, и клиенты должны его разрешать. Пропишите имя сервера в DNS или в hosts на клиентах, иначе служба работает, а базы не открываются.

Какие порты открыть для агента сервера 1С

Служба может работать, но быть недоступной из сети, если брандмауэр закрыл порты. Открывайте входящие TCP-соединения:

ПортЗачем
1540агент сервера, консоль администрирования
1541менеджер кластера
1560–1591рабочие процессы (диапазон из свойств рабочего сервера)
1545ras, только если используете rac или веб-консоли

Windows Defender Firewall (PowerShell от администратора):

New-NetFirewallRule -DisplayName "1C Server" -Direction Inbound -Protocol TCP -LocalPort 1540-1541,1560-1591 -Action Allow

Linux, firewalld:

sudo firewall-cmd --permanent --add-port=1540-1541/tcp --add-port=1560-1591/tcp
sudo firewall-cmd --reload

Linux, ufw:

sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp

Проверить, слушает ли агент порт, можно с самого сервера: netstat -ano | findstr :1540 в Windows или ss -tlnp | grep 154 в Linux. С клиента доступность проверяется командой Test-NetConnection имя_сервера -Port 1540.

Две версии платформы на одном сервере

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

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

Сначала найдите текст ошибки — гадать по симптому «не стартует» бесполезно.

Где смотреть:

  • 🪟 Windows: «Просмотр событий» → «Журналы Windows» → «Приложение» и «Система». Фильтруйте по источнику, в названии которого есть «1C».
  • 🐧 Linux: journalctl -u srv1cv8-8.3.24.1467@default -n 100 --no-pager.
  • 📝 Технологический журнал: файл logcfg.xml в каталоге conf платформы (в Windows обычно C:\Program Files\1cv8\conf). Включайте его на время диагностики, он быстро растёт.
Диагностика: выберите симптом

Если сломан реестр кластера

Иногда служба падает из-за повреждённого файла реестра кластера 1CV8Clst.lst в каталоге srvinfo (например, после аварийного выключения сервера). Порядок действий:

  1. Остановите службу агента.
  2. Скопируйте весь каталог srvinfo в резервное место.
  3. Восстановите 1CV8Clst.lst из своей резервной копии каталога кластера.
  4. Запустите службу и проверьте список баз в консоли.

Не удаляйте 1CV8Clst.lst и не создавайте кластер заново «с чистого листа»: пропадёт регистрация всех информационных баз, настройки рабочих серверов и требования назначения функциональности. Восстанавливать базы в консоли придётся вручную.

Если не открывается консоль кластера

Консоль администрирования (оснастка MMC) работает через библиотеку radmin.dll той же версии, что и сервер. После обновления платформы консоль часто перестаёт подключаться, хотя служба запущена. Перерегистрируйте библиотеку от администратора:

regsvr32 "C:\Program Files\1cv8\8.3.24.1467\bin\radmin.dll"

Ключи запуска ragent и что в них стоит поменять

Параметры службы видны в строке «Исполняемый файл» её свойств. Типичная строка после установки:

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

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

КлючНазначение
-srvcзапуск в режиме службы
-agentпроцесс работает как агент сервера
-portпорт агента (1540)
-regportпорт менеджера кластера (1541)
-rangeдиапазон портов рабочих процессов
-dкаталог кластера (srvinfo)
-debugразрешает отладку серверного кода

Что обычно меняют на рабочем сервере:

  • 🐞 Убирают -debug, если отладка на продуктиве не нужна. С этим ключом к серверу может подключиться отладчик, а это лишняя нагрузка и лишняя дыра. На тестовом сервере ключ оставляют.
  • 💽 Переносят srvinfo на быстрый диск через -d. В этом каталоге лежит сеансовый кэш, на медленном диске он тормозит работу.
  • 🔁 Настраивают перезапуск при сбое: в свойствах службы, вкладка «Восстановление», для первого и второго сбоя — «Перезапуск службы» с задержкой 1 минута.
  • ⏳ Ставят отложенный автозапуск, если на той же машине работает SQL Server или PostgreSQL и агент успевает стартовать раньше СУБД.

Изменить строку запуска проще всего так: удалить службу через ragent.exe -rmsrvc и зарегистрировать заново с нужными ключами через -instsrvc. Правка пути в реестре тоже работает, но при ошибке в кавычках служба перестанет запускаться.

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

Частые ошибки администраторов

  • ❌ Обновили платформу, а служба осталась на старой версии. Новая версия ставится в отдельный каталог, а служба указывает на старый ragent.exe. Перерегистрируйте службу из каталога новой версии и удалите старую, иначе клиенты новой версии не подключатся.
  • ❌ Запускают ragent.exe двойным щелчком. Без ключей процесс не станет службой и закроется. Для ручного запуска в консоли нужен как минимум ключ -debug или полный набор параметров.
  • ❌ Чистят сеансовые данные на работающей службе. Папки snccntx* в каталоге кластера удаляют только при остановленной службе — после предупреждения пользователей, потому что сеансы оборвутся.
  • ❌ Открывают только 1540. Клиент дойдёт до агента, но не до рабочего процесса — ошибка появится уже при входе в базу.
Нужна ли лицензия, чтобы служба агента запустилась?
Нет. Служба стартует и без лицензии на сервер. Лицензия проверяется при работе пользователей и сеансов, а не при запуске агента.
Можно ли запустить сервер 1С без службы, вручную?
Да, для тестов: ragent.exe -debug -port 1540 -regport 1541 -range 1560:1591 -d <каталог>. Сервер работает, пока открыто окно консоли и пользователь не вышел из системы.
Почему после перезагрузки служба запущена, но базы не открываются?
Чаще всего агент стартовал раньше СУБД. Рабочий процесс не может соединиться с базой данных. Помогает отложенный запуск службы или перезапуск агента после старта СУБД.
Можно ли запустить службу от LocalSystem вместо USR1CV8?
Технически да, но так сервер 1С получает полные права на машине. Безопаснее отдельная учётная запись с правами только на нужные каталоги.
Как узнать, какая версия платформы у работающего агента?
В Windows — по пути к ragent.exe в свойствах службы. В Linux — по имени юнита srv1cv8-<версия>@default в выводе systemctl list-units | grep srv1cv8.