Агент, кластер, рабочие процессы: запускаем сервер 1С:Предприятия 8.3 и проверяем подключение
Содержание
Чтобы запустить сервер
1С, нужно запустить службу агента сервера ragent. В Windows это служба «Агент сервера 1С:Предприятия 8.3» в services.msc, в Linux — юнит srv1cv8-<версия>@default через systemctl start. Агент сам поднимает менеджер кластера и рабочие процессы. Дальше остаётся проверить, что открыты порты 1540, 1541 и 1560–1591, а база видна в консоли администрирования.
Типичная ситуация: утром бухгалтерия не может войти в базу, на экране Сервер 1С:Предприятия не обнаружен. Причин обычно три: служба не стартовала после ночной перезагрузки, клиента не пускает брандмауэр или имя сервера не разрешается. Всё описанное относится к платформе 8.3 на Windows Server 2016 и новее и современных дистрибутивах Linux.
Как устроен сервер 1С и что именно мы запускаем
Сервер 1С:Предприятия — не одна программа, а три вида процессов. Запускаете вы только первый, остальные он порождает сам.
| Процесс | Файл | Порт по умолчанию | Что делает |
|---|---|---|---|
| Агент сервера | ragent | 1540 | Принимает первое обращение клиента и консоли, хранит список кластеров |
| Менеджер кластера | rmngr | 1541 | Хранит реестр кластера: базы, сеансы, рабочие серверы |
| Рабочий процесс | rphost | из диапазона 1560–1591 | Выполняет код конфигурации, работает с СУБД |
Порядок подключения клиента такой:
- Клиент обращается к агенту на порт 1540.
- Агент отдаёт адрес менеджера кластера (1541).
- Менеджер назначает рабочий процесс, и дальше клиент общается с
rphostна порту из диапазона.
Отсюда практический вывод. Если открыт только порт 1540, клиент «доходит» до сервера, но падает на втором или третьем шаге. Открывать нужно все три группы портов.
📂 Где лежат данные кластера:
- 🪟 Windows:
C:\Program Files\1cv8\srvinfo(если при установке не указали другой каталог); - 🐧 Linux:
/home/usr1cv8/.1cv8/1C/1cv8.
В каталоге srvinfo\reg_1541 лежит файл 1CV8Clst.lst — реестр кластера со списком баз. Этот каталог копируйте перед любыми экспериментами со службой. Без него кластер придётся собирать заново.
Запуск сервера 1С как службы Windows
На Windows сервер 1С работает как служба под отдельной учётной записью, обычно USR1CV8. Её создаёт установщик, если при установке отметить компонент «Сервер 1С:Предприятия 8» и флажок установки как сервиса Windows.
Запустить службу через оснастку
- Нажмите
Win + R, введитеservices.msc. - Найдите строку «Агент сервера 1С:Предприятия 8.3» (для 64-битной платформы в названии будет
x86-64). - Правой кнопкой → «Запустить».
- В свойствах службы, на вкладке «Общие», поставьте тип запуска «Автоматически» — иначе после перезагрузки сервер снова будет выключен.
На одной машине могут стоять службы разных версий платформы. Запущена должна быть та, версия которой совпадает с клиентами. Номер версии виден в поле «Исполняемый файл» свойств службы — это путь вида C:\Program Files\1cv8\8.3.xx.xxxx\bin\ragent.exe.
Запустить из командной строки
Точное имя службы удобнее сначала найти, а не набирать по памяти:
sc query state= all | findstr /i "1C"
Затем запуск, остановка и проверка состояния (подставьте имя из вывода):
net start "1C:Enterprise 8.3 Server Agent (x86-64)"
sc query "1C:Enterprise 8.3 Server Agent (x86-64)"
net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
В PowerShell то же самое делают Get-Service *1C*, Start-Service и Restart-Service.
Остановка или перезапуск службы обрывает сеансы всех пользователей и фоновые задания. Делайте это вне рабочего времени или после предупреждения пользователей.
Если службы нет: регистрация вручную
Бывает, что платформу ставили без флажка службы или службу удалили при обновлении. Тогда её регистрируют из каталога 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
Ключ -rmsrvc удаляет зарегистрированную службу, -stop останавливает её. Каталог в параметре -d должен совпадать со старым srvinfo, если вы хотите сохранить существующий кластер.
Запуск агента как приложения для диагностики
Если служба стартует и тут же останавливается, запустите агент в консоли. Он напишет ошибку прямо в окно:
ragent.exe -agent -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Перед этим остановите службу, иначе порт 1540 будет занят. Закрытие окна консоли остановит сервер, поэтому для работы такой режим не годится — только для поиска причины.
Как запустить сервер 1С на Linux
На Linux сервер работает под пользователем usr1cv8, платформа ставится в /opt/1cv8/x86_64/8.3.xx.xxxx/. Способ запуска зависит от версии платформы.
Актуальные версии: юнит systemd
В каталоге платформы лежит готовый файл юнита. Проверьте, есть ли он:
ls /opt/1cv8/x86_64/8.3.xx.xxxx/ | grep service
Если файл srv1cv8-8.3.xx.xxxx@.service есть, подключите его и запустите экземпляр default:
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable srv1cv8-8.3.xx.xxxx@default
sudo systemctl start srv1cv8-8.3.xx.xxxx@default
sudo systemctl status srv1cv8-8.3.xx.xxxx@default
enable отвечает за автозапуск после перезагрузки, start — за запуск сейчас. Порты и каталог данных для экземпляра default берутся по умолчанию: 1540, 1541, 1560–1591.
Старые версии: скрипт srv1cv83
В более ранних версиях платформы установщик клал скрипт /etc/init.d/srv1cv83, а параметры (порты, каталог, отладка) — в файл /etc/sysconfig/srv1cv83 или /etc/default/srv1cv83, в зависимости от дистрибутива. Запуск:
sudo /etc/init.d/srv1cv83 start
sudo /etc/init.d/srv1cv83 status
Где смотреть, почему не стартовало
journalctl -u srv1cv8-8.3.xx.xxxx@default -n 50
ps -ef | grep -E "ragent|rmngr|rphost"
Если в списке процессов есть ragent, но нет rmngr, проблема обычно в правах на каталог данных. Владельцем /home/usr1cv8/.1cv8 должен быть usr1cv8:
sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8
На Linux при старте сервер проверяет, правильно ли разрешается имя машины. Строка в /etc/hosts с реальным IP и именем хоста (а не только 127.0.1.1) снимает целый класс ошибок подключения.
Проверка портов и сетевого подключения к серверу 1С
Служба запущена — следующий шаг проверить, что сервер слушает порты и клиент до них дотягивается.
На самом сервере
| ОС | Команда | Что должно быть |
|---|---|---|
| Windows | netstat -ano | findstr "1540 1541" | Строки со статусом LISTENING |
| Linux | ss -tlnp | grep -E "154[01]" | Процессы ragent и rmngr |
Если порт 1540 занят другим процессом, агент не запустится. PID из вывода netstat сверьте в диспетчере задач.
С компьютера пользователя
В PowerShell:
Test-NetConnection srv-1c -Port 1540
Test-NetConnection srv-1c -Port 1541
Test-NetConnection srv-1c -Port 1560
TcpTestSucceeded : True по всем трём — сеть в порядке. Порт 1560 отвечает, только если на нём уже работает рабочий процесс, поэтому проверяйте его после первого подключения к базе.
Открыть порты в брандмауэре
Windows, 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
С ufw: sudo ufw allow 1540:1541/tcp и sudo ufw allow 1560:1591/tcp.
Имя сервера
Кластер регистрирует себя под именем машины. Клиент может подключиться к
агенту по IP, но дальше получит от него адрес менеджера в виде имени. Если это имя не разрешается, соединение обрывается. Проверка с клиента: ping srv-1c. Не отвечает по имени — добавьте запись в DNS или в C:\Windows\System32\drivers\etc\hosts:
192.168.1.10 srv-1c
Консоль администрирования и настройки кластера после запуска
Запущенный сервер ещё ничего не обслуживает, пока в кластере нет баз. Управляют им через консоль «Администрирование серверов 1С Предприятия».
Если консоль не открывается
Консоль — оснастка MMC, ей нужна зарегистрированная библиотека radmin.dll. После обновления платформы или при ошибке открытия зарегистрируйте её заново, командная строка от администратора:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Версия в пути должна совпадать с версией запущенного агента. Консоль одной версии корректно управляет сервером той же версии.
Подключить сервер в консоли
- В дереве консоли правой кнопкой по узлу центральных серверов → «Создать» → центральный сервер.
- Укажите имя машины и порт 1540.
- Раскройте сервер → «Кластеры» → кластер (по умолчанию «Локальный кластер», порт 1541).
- В узле «Информационные базы» добавьте базу или проверьте, что нужная уже есть.
Если на кластере назначены администраторы, консоль попросит логин и пароль. Забытый пароль администратора кластера не сбрасывайте удалением файлов: остановите службу и восстановите каталог srvinfo из резервной копии либо обратитесь к тому, кто настраивал сервер.
Что настроить в первую очередь
Часть параметров живёт в свойствах кластера, часть — в свойствах рабочего сервера. Их часто путают.
| Где | Параметр | Зачем менять |
|---|---|---|
| Рабочий сервер | Диапазон IP-портов | Если 1560–1591 заняты или закрыты политикой сети |
| Рабочий сервер | Максимальный объём памяти рабочих процессов | Чтобы rphost не съели всю память машины |
| Рабочий сервер | Количество ИБ на процесс, соединений на процесс | Распределение нагрузки между процессами |
| Кластер | Интервал перезапуска рабочих процессов | Плановая очистка «распухших» процессов |
| Кластер | Уровень отказоустойчивости, режим распределения нагрузки | Для кластеров из нескольких рабочих серверов |
На одном сервере на 10–30 пользователей значения по умолчанию обычно подходят. Менять стоит то, что решает конкретную проблему: нехватку памяти, конфликт портов.
Управление из командной строки
Для скриптов и Linux без графики есть сервер администрирования ras (порт 1545) и утилита rac:
ras cluster --daemon localhost:1540
rac cluster list
rac session list --cluster=<uuid кластера>
В Windows ras вместо --daemon запускают с ключом --service при регистрации службы. Остальные подкоманды смотрите в rac help.
ragent -agent в консоли и прочитайте ошибку. Частые причины: занят порт 1540, нет прав у USR1CV8 на каталог srvinfo, неверный путь в параметре -d.Ошибки запуска сервера 1С и как их убрать
Ошибка 1069: Служба не была запущена из-за сбоя при входе в систему
Windows не может войти под учётной записью службы. Причины:
- 🔑 пароль
USR1CV8сменили или у него истёк срок действия; - 🚫 у пользователя отобрали право «Вход в качестве службы» групповой политикой.
Решение: в свойствах службы, вкладка «Вход в систему», введите актуальный пароль. Для служебной учётки включите «Срок действия пароля не ограничен». Если пароль верный, проверьте локальную политику безопасности: secpol.msc → «Локальные политики» → «Назначение прав пользователя» → «Вход в качестве службы».
Ошибка 1053: Служба не ответила на запрос своевременно
Агент не успел стартовать. Чаще всего мешает занятый порт или повреждённый каталог данных. Запустите агент как приложение (команда выше) — он покажет причину текстом.
Служба «Выполняется», но базы не открываются и консоль зависает
Иногда портится сеансовый кэш кластера. Практический приём:
- Предупредите пользователей: все сеансы оборвутся.
- Остановите службу агента.
- Скопируйте каталог
srvinfoцеликом в резервную папку. - В
srvinfo\reg_1541удалите файлы и папки, имя которых начинается сsnccntx. - Запустите службу.
Файл 1CV8Clst.lst при этом не трогайте — в нём список баз.
Различаются версии клиента и сервера
Клиент и сервер должны быть одной сборки, вплоть до последней цифры номера. Решение — поставить на рабочие места ту же версию или указать в свойствах базы в списке баз нужную версию клиента. Если на сервере установлено несколько платформ, проверьте, служба какой версии запущена: две службы на одних портах одновременно работать не могут.
Сервер запущен, но пишет про отсутствие лицензии
Без лицензии сервер не обслуживает базы. Серверная лицензия должна быть активирована на том компьютере, где работает агент, или стоять аппаратный ключ с драйвером. Программную лицензию, привязанную к оборудованию, нужно переактивировать после замены сервера или существенной смены железа.
Перед удалением файлов в srvinfo, перерегистрацией службы и переактивацией лицензии делайте копию каталога данных и согласуйте простой с ответственным за базу.
Частые вопросы
Можно ли запустить сервер 1С без службы?
ragent -agent с теми же портами и каталогом. Но сервер работает, пока открыто окно и выполнен вход пользователя. Для постоянной работы нужна служба.Как запустить два сервера 1С разных версий на одной машине?
-port 2540 -regport 2541 -range 2560:2591 и отдельным каталогом -d. Клиенты второй версии указывают сервер как srv-1c:2541.Нужно ли перезапускать сервер после обновления конфигурации?
Почему после перезагрузки сервера 1С не запускается автоматически?
systemctl enable. Ещё один вариант — служба стартует раньше сети и падает; помогает тип запуска «Автоматически (отложенный запуск)».Как включить отладку на сервере 1С?
-debug в строку запуска агента: на Windows — в параметр ImagePath службы в разделе реестра HKLM\SYSTEM\CurrentControlSet\Services\<имя службы>, на Linux — в настройки службы. Затем перезапустите службу. На рабочем сервере держите отладку выключенной.