Сервер 1С не стартует или не виден клиентам: запуск в Windows и Linux
Содержание
Сервер 1С открывают запуском службы агента сервера ragent. В Windows это служба «Агент сервера 1С:Предприятия 8.3» (в списке служб чаще видна как 1C:Enterprise 8.3 Server Agent (x86-64)), в Linux — unit srv1cv8-<версия>@default через systemctl start. После старта агент слушает порт 1540, менеджер кластера — 1541, рабочие процессы — диапазон 1560–1591.
Типичная ситуация: утром бухгалтерия пишет, что база не открывается, а в окне запуска висит Сервер 1С:Предприятия не обнаружен. Причина почти всегда в одном из пяти мест: служба остановлена, у её учётной записи нет прав, порт закрыт фаерволом, клиент не находит сервер по имени или версии клиента и сервера разошлись. Проверять их стоит именно в таком порядке: от службы к сети.
Учётная запись и права службы сервера 1С
Служба сервера работает от имени отдельного пользователя. При установке в Windows программа по умолчанию создаёт локальную учётную запись USR1CV8, в Linux — пользователя usr1cv8. Если запись удалили, сменили ей пароль или урезали права, служба не стартует или падает через секунду после запуска.
Что проверить в Windows:
- 🔑 Пароль. Откройте
services.msc, свойства службы агента, вкладка «Вход в систему». Если парольUSR1CV8меняли политикой домена — введите актуальный здесь же. - 🛡️ Право «Вход в систему как служба». Путь:
secpol.msc → Локальные политики → Назначение прав пользователя. Учётная запись службы должна быть в этом списке. Доменная групповая политика иногда перезаписывает список, и после очередного обновления политик служба перестаёт стартовать. - 📁 Каталог данных кластера. У учётной записи должен быть полный доступ к каталогу
srvinfo(по умолчаниюC:\Program Files\1cv8\srvinfo) и права на чтение каталога платформыC:\Program Files\1cv8\<версия>\bin. - 🗂️ Каталог временных файлов. Рабочие процессы пишут временные файлы в профиль пользователя службы. Если диск с профилем переполнен, сеансы начинают отваливаться.
В Linux те же проверки делают командами:
id usr1cv8
ls -ld /home/usr1cv8/.1cv8/1C/1cv8
sudo chown -R usr1cv8:grp1cv8 /home/usr1cv8/.1cv8
Последнюю команду запускайте, только если владелец каталога действительно сменился, например после копирования данных кластера из резервной копии под root.
Не запускайте службу от «Локальной системы» ради быстрого результата. Сервер заработает, но рабочие процессы получат полный доступ к машине. Для продуктивной базы лучше отдельная запись с минимальными правами.
Как запустить сервер 1С в Windows
Через оснастку служб
- Нажмите
Win + R, введитеservices.msc. - Найдите службу «Агент сервера 1С:Предприятия 8.3». Если на машине стоит несколько версий платформы, в имени может быть указан номер версии.
- Откройте свойства и посмотрите «Исполняемый файл»: там видно, какая версия
ragent.exeзапускается и какие порты ей переданы. - Тип запуска — «Автоматически». Нажмите «Запустить».
- Если служба поднялась и через несколько секунд остановилась — переходите к разделу о журналах.
Из командной строки
Точное имя службы удобно найти командой PowerShell:
Get-Service *1C* | Format-Table Name, DisplayName, Status
Дальше запуск, остановка и перезапуск:
Start-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)"
Stop-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)"
Restart-Service -Name "1C:Enterprise 8.3 Server Agent (x86-64)"
Имя в кавычках замените на то, что вернула первая команда.
Остановка или перезапуск службы обрывает все сеансы пользователей. Несохранённые документы пропадут, фоновые и регламентные задания прервутся. Делайте это вне рабочего времени или после предупреждения пользователей.
Если службы нет вообще
Так бывает, когда платформу ставили без компонента «Сервер 1С:Предприятия 8» или без отметки «Установить сервер
как сервис Windows». Службу можно зарегистрировать вручную из каталога bin нужной версии:
cd "C:\Program Files\1cv8\8.3.xx.xxxx\bin"
ragent.exe -instsrvc -port 1540 -regport 1541 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -usr ".\USR1CV8" -pwd "Пароль"
ragent.exe -start
Удаляют службу ключом -rmsrvc, останавливают — -stop. Для ручного запуска без службы (на тестовом стенде, чтобы увидеть ошибку прямо в консоли) годится вариант ragent.exe -port 1540 -regport 1541 -range 1560:1591 -d "C:\srvinfo_test".
Сервер 1С в Linux: запуск через systemd
С платформы 8.3.21 вместо старого скрипта /etc/init.d/srv1cv83 в комплект входит unit-файл systemd. Он лежит в каталоге установленной версии, и его нужно один раз подключить:
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
Проверка состояния и перезапуск:
systemctl status srv1cv8-8.3.xx.xxxx@default
sudo systemctl restart srv1cv8-8.3.xx.xxxx@default
Часть @default — имя экземпляра. Так на одной машине можно держать несколько серверов с разными портами и каталогами данных. Параметры экземпляра заданы в самом unit-файле: посмотрите их через systemctl cat, а меняйте через sudo systemctl edit, чтобы правки не потерялись при обновлении платформы.
На старых версиях, где unit-файла ещё нет, работает классическая схема:
sudo /etc/init.d/srv1cv83 start
sudo /etc/init.d/srv1cv83 status
Параметры для неё (порты, каталог данных, ключ отладки) берутся из /etc/sysconfig/srv1cv83 или /etc/default/srv1cv83 в зависимости от дистрибутива.
После обновления платформы в Linux новый unit автоматически не подключается. Отключите старый экземпляр (systemctl disable --now со старым номером версии), подключите новый и проверьте, что старый процесс ragent больше не держит порт 1540.
Порты и фаервол: почему клиенты не видят сервер
Служба может работать идеально, но клиенты её не увидят, если сеть закрыта. Схема подключения такая: клиент обращается к агенту на порт 1540, агент отдаёт адрес менеджера кластера (1541), дальше клиента направляют в рабочий процесс из диапазона портов. Этот диапазон задаётся в свойствах рабочего сервера, по умолчанию 1560–1591.
| Порт | Кто слушает | Зачем нужен |
|---|---|---|
| 1540 | Агент сервера ragent | Точка входа для клиентов и консоли администрирования |
| 1541 | Менеджер кластера rmngr | Регистрация кластера, распределение сеансов |
| 1560–1591 | Рабочие процессы rphost | Обработка сеансов пользователей |
| 1545 | Сервер администрирования ras | Доступ для rac и сторонних консолей, если ras запущен |
| 475, 1947 | Сервер HASP | Только при аппаратных ключах защиты |
Открыть порты в Windows:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
В Linux с ufw:
sudo ufw allow 1540:1541/tcp
sudo ufw allow 1560:1591/tcp
Проверить, что порт слушается на сервере и доступен с рабочего места:
netstat -ano | findstr :1540 # на сервере Windows
Test-NetConnection srv1c -Port 1541 # с компьютера пользователя
ss -tlnp | grep -E '154[01]|15[6-9][0-9]'
Отдельная ловушка — имя сервера. Кластер регистрируется по имени компьютера, и менеджер отдаёт клиенту именно имя, а не IP. Если клиент не может разрешить это имя через DNS, подключение к 1540 пройдёт, а дальше всё оборвётся. Лечится записью в DNS или строкой в C:\Windows\System32\drivers\etc\hosts на клиенте: 192.168.1.10 srv1c.
Журналы: где искать причину, если сервер не открывается
Когда служба падает или сеансы рвутся, смотрите три источника по очереди.
Журнал операционной системы
В Windows откройте eventvwr.msc → Журналы Windows → Приложение и отфильтруйте события по источнику, в названии которого есть «1C». Там видно, на каком шаге агент завершился: нет доступа к каталогу, занят порт, не найден файл кластера. Запись об остановке самой службы ищите в журнале «Система».
В Linux всё собирает journald:
journalctl -u srv1cv8-8.3.xx.xxxx@default --since "1 hour ago"
Журнал регистрации информационной базы
Он нужен, когда сервер запущен, но конкретная база ведёт себя странно. Хранится внутри каталога данных кластера: srvinfo\reg_1541\<GUID базы>\1Cv8Log. Открывают его из клиента: Администрирование → Обслуживание → Журнал регистрации в типовых конфигурациях на «Такси» или из Конфигуратора через меню Администрирование. Фильтруйте по уровню «Ошибка» и по времени, когда пользователи пожаловались.
Технологический журнал
Если первых двух источников мало, включите технологический журнал. Создайте файл logcfg.xml в каталоге C:\Program Files\1cv8\conf\ (в Linux — /opt/1cv8/conf/):
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="C:\techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
Такая настройка пишет только исключения и хранит их 24 часа. Платформа подхватывает файл без перезапуска службы. Каталог C:\techlog должен быть доступен на запись учётной записи службы.
Не оставляйте техжурнал с событиями DBMSSQL или all на рабочем сервере надолго: за сутки он легко занимает десятки гигабайт. Собрали данные — удалите logcfg.xml.
Параметры запуска и настройка кластера
Строка запуска агента в Windows видна в свойствах службы, в Linux — в unit-файле. Типичный вид:
"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" -debug
Что в ней менять и зачем:
- 🔢
-port,-regport,-range. Меняют, когда на одной машине нужны два сервера разных версий. Второму экземпляру дают, например, 2540, 2541 и 2560:2591, иначе он не стартует из-за занятого порта. - 📂
-d. Каталог данных кластера. Его разумно вынести на быстрый диск: там лежат журналы регистрации и сеансовые данные. - 🐞
-debug. Разрешает отладку на сервере. Для разработки удобно, для продуктивной базы — лишняя нагрузка; уберите ключ и перезапустите службу.
Остальное настраивают в консоли «Администрирование серверов 1С Предприятия». Если оснастка не открывается или в ней нет пункта для подключения к серверу, перерегистрируйте библиотеку консоли той же версии, что и сервер (командная строка от имени администратора):
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
В консоли полезны две группы настроек:
| Где | Параметр | Что даёт |
|---|---|---|
| Свойства кластера | Интервал перезапуска, допустимый объём памяти | Плановый перезапуск рабочих процессов, которые «распухли» по памяти |
| Свойства рабочего сервера | Диапазон IP-портов | Порты для rphost, должны совпадать с открытыми в фаерволе |
| Свойства рабочего сервера | Количество ИБ на процесс, соединений на процесс | Распределение нагрузки между рабочими процессами |
| Свойства рабочего сервера | Максимальный объём памяти рабочих процессов | Защита от исчерпания памяти машины |
На Linux, где оснастки нет, кластер администрируют через ras и rac. Запустите сервер администрирования командой ras cluster, затем проверьте связь: rac cluster list выведет кластеры и их параметры. Остальные подкоманды смотрите в справке rac help.
Частые проблемы при старте сервера 1С
После обновления платформы сервер не открывается. Новая версия поставилась, но служба по-прежнему указывает на старый ragent.exe, или две службы разных версий спорят за порт 1540. Остановите и удалите службу старой версии (ragent.exe -rmsrvc из её каталога bin), убедитесь, что новая служба смотрит в тот же каталог srvinfo, и запустите её.
Служба стартует, но в консоли нет баз. Агент запущен с другим каталогом данных -d, чем раньше. Список баз хранится в файле реестра кластера внутри srvinfo\reg_1541. Верните прежний путь в параметрах службы.
Файл реестра кластера повреждён. Чаще всего после аварийного отключения питания. Служба падает сразу после старта, в журнале — ошибка чтения файлов кластера. Не удаляйте каталог srvinfo целиком: вместе с ним пропадут регистрации всех баз и журналы регистрации. Остановите службу, восстановите каталог reg_1541 из резервной копии и запустите службу снова.
Забыт пароль администратора кластера. Консоль не пускает к настройкам. Рабочий путь — остановить службу и вернуть файлы кластера из резервной копии, сделанной до установки пароля, либо обратиться к тому, кто администрирует сервер. Пересоздавать кластер ради этого не нужно.
Сервер виден в локальной сети, но не через VPN. VPN пропускает 1540, но режет диапазон рабочих процессов или не отдаёт DNS-имена внутренней сети. Откройте весь набор портов в туннеле и пропишите имя сервера в hosts на удалённом компьютере.
Не хватает лицензий при старте сеансов. Сам агент запускается без проверки клиентских лицензий, а вот пользователи получают ошибку при входе. Посмотреть, какие сеансы и какие лицензии заняты, можно командой rac session list --licenses или в консоли в разделе сеансов.
Частые вопросы
Можно ли держать на одном компьютере два сервера 1С разных версий?
srv1c:2541.Нужен ли перезапуск службы после добавления базы в кластер?
Почему консоль администрирования не видит сервер, хотя пользователи работают?
radmin.dll из каталога той версии, что установлена на сервере.Чем серверный вариант отличается от запуска файловой базы?
Как узнать, какая версия сервера сейчас запущена?
ragent.exe в свойствах службы, в Linux — по имени unit-файла в выводе systemctl list-units 'srv1cv8*'.