Запуск сервера 1С:Предприятия: служба, порты, диагностика
Содержание
Серверную часть 1С запускает один процесс: агент сервера (ragent). В Windows он работает как служба «Агент сервера 1С:Предприятия 8.3», в Linux — как служба srv1cv83. Запустите её, и агент сам поднимет менеджер кластера и рабочие процессы. Если служба стартует и слушает порты 1540 и 1541, сервер готов принимать клиентов и консоль администрирования.
Большинство проблем при запуске сводится к трём вещам: у пользователя службы нет прав на каталог данных, порты заняты или закрыты, имя сервера не разрешается в адрес. Ниже — подготовка, запуск в обеих системах, диагностика и настройка параметров. Речь о платформе 8.3 с клиент-серверным вариантом работы; для файловой базы служба не нужна.
Что подготовить до первого запуска
Сервер 1С ставится отдельным компонентом платформы. Проверьте заранее:
- 🖥️ Имя сервера. Лучше латиница, цифры и дефис, без подчёркиваний. Клиенты подключаются по имени, поэтому оно должно разрешаться в DNS или в файле
hostsна каждом клиенте и на самом сервере. - 👤 Пользователь службы. Отдельная учётная запись без прав администратора. В Windows это обычно локальный пользователь
USR1CV8, в Linux —usr1cv8из группыgrp1cv8. - 📁 Каталог данных кластера. Здесь лежат список баз, журналы регистрации кластера и служебные файлы. Его нельзя держать на сетевой папке, и он должен быть на диске с запасом места.
- 🔌 Порты. Агент слушает
1540, менеджер кластера —1541, рабочие процессы занимают диапазон (по умолчанию1560–1591). - 🔑 Лицензии. Серверная лицензия или программный ключ должны быть доступны серверу. Без них сам кластер поднимется, а вот сеансы пользователей не откроются.
Каталог данных удобно вынести на отдельный диск или раздел. Тогда переполнение журналов не остановит операционную систему.
Запуск службы в Windows
Служба создаётся установщиком платформы, если отметить компонент «Сервер 1С:Предприятия». Дальше всё делается в оснастке служб.
- Нажмите
Win + R, введитеservices.msc. - В списке найдите службу с названием вида «Агент сервера 1С:Предприятия 8.3 (x86-64)». Быстрее всего отсортировать по имени и пролистать до буквы «А».
- Откройте свойства и проверьте вкладку «Вход в систему»: учётная запись должна быть той, у которой есть права на каталог данных.
- Тип запуска поставьте «Автоматически», нажмите «Запустить».
То же из PowerShell от имени администратора:
Get-Service | Where-Object { $_.DisplayName -like "*1С*" -or $_.DisplayName -like "*1C*" }
Start-Service -DisplayName "*Агент сервера 1С*"
Остановка или перезапуск службы обрывает сеансы всех пользователей и фоновые задания. Делайте это в нерабочее время или после того, как люди завершили работу, иначе несохранённые данные пропадут.
Права на каталог данных
Если служба стартует и сразу останавливается, первым делом смотрите права. Пользователю службы нужно разрешение «Полный доступ» на каталог данных кластера (по умолчанию он лежит в папке установки в подкаталоге srvinfo) и «Чтение и выполнение» на каталог платформы 1cv8. Проверьте их в свойствах папки, вкладка «Безопасность».
Регистрация службы вручную
Если установщик службу не создал или её пришлось удалить, агент можно зарегистрировать самому командой ragent с ключом -instsrvc. Параметры — порты, каталог данных, пользователь — задаются теми же ключами, что описаны в разделе про настройку ниже. Точный набор ключей для вашей версии платформы смотрите в справке установщика; ошибка в строке регистрации приводит к службе, которая не стартует.
Управление сервером 1С в Linux
В Linux серверный компонент ставится из пакетов .deb или .rpm, которые входят в дистрибутив платформы. Пакет создаёт пользователя usr1cv8, группу grp1cv8 и службу srv1cv83. Платформа лежит в каталоге /opt/1cv8/x86_64/<номер версии>/, данные кластера — в домашнем каталоге пользователя usr1cv8.
Основные команды (на системах с systemd):
sudo systemctl enable srv1cv83
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
sudo systemctl stop srv1cv83
Первая команда включает автозапуск при загрузке, вторая запускает службу сейчас. Если ваш дистрибутив пакет службы не зарегистрировал, поищите файл службы в каталоге платформы под /opt/1cv8 и подключите его по правилам вашей ОС.
Проверьте, что процессы поднялись и порты слушаются:
ps -ef | grep -E "ragent|rmngr|rphost"
ss -tlnp | grep -E ":1540|:1541"
Должны быть процессы ragent, rmngr и один или несколько rphost. Если ragent есть, а rmngr нет, смотрите журнал.
Параметры службы в Linux
Порты и каталог данных задаются в файле окружения службы. В большинстве сборок это /etc/default/srv1cv83, где переменные вроде SRV1CV8_PORT, SRV1CV8_REGPORT и SRV1CV8_RANGE отвечают за порты агента, менеджера и диапазон рабочих процессов, а SRV1CV8_DATA — за каталог данных. Откройте файл и сверьте имена переменных с тем, что стоит у вас: набор может отличаться в зависимости от пакета.
После правки параметров службу нужно перезапускать. Это обрывает все сеансы, поэтому согласуйте окно работ с пользователями.
Диагностика: служба не запускается или кластер не виден
Начните с журнала, а не с догадок. В Windows откройте «Просмотр событий» → «Журналы Windows» → «Приложение» и найдите записи на время запуска службы. В Linux:
sudo journalctl -u srv1cv83 --since "10 minutes ago"
ls -ld на каталог данных и при необходимости исправьте через chown на usr1cv8:grp1cv8.1540 и 1541 с рабочего места администратора, а также наличие правила в брандмауэре сервера.ping с клиента и с самого сервера, добавьте запись в hosts или исправьте DNS. Подключайтесь по тому имени, которое сервер сообщает о себе.1540 или 1541. Найдите её (netstat -ano в Windows, ss -tlnp в Linux) и либо остановите, либо задайте агенту другие порты.Что проверять в брандмауэре
Откройте для входящих подключений: 1540, 1541 и весь диапазон рабочих процессов, который задан у вашего сервера. Если клиенты и сервер в разных подсетях, проверьте и промежуточные сетевые устройства. Чаще всего открывают только 1540 и 1541, а диапазон забывают — тогда клиент видит кластер, но сеанс не открывается.
Проверка кластера из командной строки
Если нужно быстро убедиться, что кластер отвечает без графической консоли, используйте утилиту администрирования rac. Для этого на сервере должен работать сервер администрирования (ras), который по умолчанию слушает порт 1545:
ras cluster
rac cluster list
Первая команда запускает сервер администрирования, вторая — выводит список кластеров с их идентификаторами. Полный набор команд смотрите в справке rac help.
Настройка параметров запуска и оптимизация
Часть параметров задаётся при запуске агента, часть — в консоли администрирования в свойствах рабочего сервера. Не путайте уровни.
| Что настраиваем | Где |
|---|---|
| Порт агента, порт менеджера, диапазон портов | Ключи запуска ragent или переменные службы |
| Каталог данных кластера | Ключ запуска (-d) или переменная службы |
| Количество соединений и баз на процесс | Свойства рабочего сервера в консоли |
| Допустимый объём памяти процессов | Свойства рабочего сервера в консоли |
| Безопасный расход памяти за один вызов | Свойства рабочего сервера в консоли |
Ключи агента, в которых можно быть уверенным: -port (порт агента), -regport (порт менеджера), -range (диапазон портов рабочих процессов, формат 1560:1591) и -d (каталог данных). Запуск вручную из консоли нужен для отладки, в продуктивной работе агент запускают службой.
Практические ориентиры
- 🧮 Диапазон портов должен быть не меньше числа рабочих процессов, которое вы собираетесь запускать. Для небольшого предприятия хватает значения по умолчанию.
- 💾 Для ориентира: на одну активную нагрузку по 1С обычно закладывают несколько гигабайт оперативной памяти на рабочий процесс. Точные числа зависят от конфигурации и числа пользователей, поэтому проверьте их на нагрузочном тесте.
- 📈 Ограничение «Допустимый объём памяти процессов» защищает сервер от одного разросшегося процесса: при превышении рабочий процесс перезапускается после завершения вызовов. Не ставьте значение слишком низким, иначе процессы будут перезапускаться постоянно.
- 🗂️ Если на сервере несколько версий платформы, служба указывает на конкретный каталог версии. После установки новой версии проверьте, на какой бинарник смотрит служба, иначе кластер продолжит работать на старой.
Версии платформы агента и клиента лучше держать согласованными по номеру: клиент с номером версии ниже серверного может не подключиться к кластеру или вести себя непредсказуемо. Сверяйте номера полностью, до четвёртой группы цифр.
Как проверить запуск с рабочего места
Когда служба поднялась, проверьте цепочку целиком: от клиента до базы. Так вы убедитесь, что дело не только в процессе на сервере.
- С компьютера пользователя выполните
pingпо имени сервера, затем проверьте доступность порта1540(в PowerShell подойдётTest-NetConnection имя_сервера -Port 1540). - Запустите консоль администрирования серверов 1С и добавьте центральный сервер в формате
имя_сервера:1540. Если порт стандартный, номер можно не указывать. - Раскройте кластер. Если он открылся без запроса пароля, администратор кластера не назначен. Если запросил — введите учётные данные администратора кластера.
- Создайте тестовую информационную базу или откройте существующую из списка запуска, указав имя сервера и имя базы.
Если на третьем шаге консоль зависает, а на втором порт отвечает, вероятнее всего, проблема с именем: консоль получила от сервера его имя, а оно с вашего компьютера не разрешается. Исправляется записью в hosts или правкой DNS.
Держите в закладках короткую памятку для себя: имя сервера, порты, пользователь службы и каталог данных. После переезда на новый сервер эти данные нужны в первую очередь.
Автоматизация контроля состояния службы
Служба может упасть ночью, а утром бухгалтерия напишет в поддержку. Поставьте простой контроль.
В Windows настройте восстановление службы: свойства службы → вкладка «Восстановление» → «Перезапуск службы» для первого и второго сбоя. Это поможет при единичном падении, но не замаскирует постоянную проблему, поэтому смотрите журнал событий.
В Linux добавьте в файл службы политику перезапуска (Restart=on-failure) через drop-in конфигурацию, а не правкой исходного файла пакета, чтобы обновление её не затёрло:
sudo systemctl edit srv1cv83
В открывшемся редакторе укажите:
[Service]
Restart=on-failure
RestartSec=10
Затем примените изменения: sudo systemctl daemon-reload.
Для оповещения достаточно задания по расписанию, которое проверяет порт и пишет вам в мессенджер или на почту. Минимальный вариант для Linux:
#!/bin/bash
if ! ss -tln | grep -q ":1541 "; then
echo "Менеджер кластера 1С не слушает порт 1541 на $(hostname)" | mail -s "1С: сервер не отвечает" admin@example.com
fi
Запускайте скрипт из cron раз в пять минут. Адрес и способ отправки замените на свои.
Частые вопросы
Нужно ли запускать службу для файловой базы?
Можно ли запускать сервер 1С без службы?
ragent из командной строки с нужными ключами. Это годится для отладки: после закрытия окна сервер остановится вместе со всеми сеансами.Какие порты открывать для сервера 1С?
1540 и 1541, а также диапазон портов рабочих процессов. Для консоли через сервер администрирования понадобится ещё 1545.Можно ли держать сервер 1С и СУБД на одной машине?
Как узнать, под какой версией платформы работает служба?
/opt/1cv8/x86_64/<версия>/.