Агент сервера 1С:Предприятия не стартует: запуск службы, порты, права и журналы
Содержание
Чтобы запустить службу агента сервера 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
Через оснастку «Службы»
- Нажмите
Win + R, введитеservices.msc. - Найдите службу «Агент сервера 1С:Предприятия 8.3» — для 64-разрядного сервера в названии стоит
(x86-64). - В свойствах службы проверьте тип запуска «Автоматически».
- Нажмите «Запустить» и дождитесь статуса «Выполняется».
Если служб несколько (стоят разные версии платформы), откройте свойства и посмотрите поле «Исполняемый файл»: там виден путь с номером версии, например 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 | рабочие процессы (диапазон из свойств рабочего сервера) |
| 1545 | ras, только если используете 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). Включайте его на время диагностики, он быстро растёт.
netstat -ano | findstr :154), есть ли у USR1CV8 полный доступ к srvinfo, и посмотрите событие в журнале «Приложение» — там будет конкретная причина.Если сломан реестр кластера
Иногда служба падает из-за повреждённого файла реестра кластера 1CV8Clst.lst в каталоге srvinfo (например, после аварийного выключения сервера). Порядок действий:
- Остановите службу агента.
- Скопируйте весь каталог
srvinfoв резервное место. - Восстановите
1CV8Clst.lstиз своей резервной копии каталога кластера. - Запустите службу и проверьте список баз в консоли.
Не удаляйте 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?
Как узнать, какая версия платформы у работающего агента?
ragent.exe в свойствах службы. В Linux — по имени юнита srv1cv8-<версия>@default в выводе systemctl list-units | grep srv1cv8.