Поднимаем сервер 1С:Предприятия с нуля: Windows, Linux, кластер и проверка
Содержание
Чтобы поднять сервер 1С, нужны четыре вещи: машина с достаточным запасом по памяти, пакет сервера той же версии, что и платформа у клиентов, служба «Агент сервера» под отдельным пользователем и открытые порты 1540, 1541 и диапазон 1560–1591. Дальше в консоли администрирования создаётся кластер, а в нём информационные базы.
Порядок один и на Windows, и на Linux. Различается только установка пакетов и запуск службы. Ниже оба варианта, затем кластер, лицензии, диагностика и тюнинг. Все команды можно копировать кнопкой в блоке кода.
Что подготовить до установки сервера
Сервер 1С не любит «потом доделаем». Половина проблем после запуска растёт из подготовки: не тот диск, не та версия, закрытые порты.
Железо и ОС
Ориентиры для старта (примерные, под реальную нагрузку считайте отдельно):
| Пользователей | Процессор | Память для сервера 1С | Диск под данные |
|---|---|---|---|
| до 10 | 4 ядра | 8 ГБ | SSD, 100 ГБ |
| 10–30 | 8 ядер | 16–24 ГБ | SSD / NVMe, 250 ГБ |
| 30–100 | 12–16 ядер | 32–64 ГБ | NVMe, от 500 ГБ |
Сервер СУБД (PostgreSQL или MS SQL) ставят отдельно, если пользователей больше 20–30. На маленькой базе допустимо держать всё на одной машине, но память СУБД и память rphost тогда делят одно железо.
Что сразу проверить:
- 💽 Диск под каталог кластера (
srvinfo) и под данные СУБД лучше выделить отдельный, не системный. - 🔤 Имя сервера — латиница, без подчёркиваний и спецсимволов. Клиенты подключаются по этому имени.
- 🕒 Время синхронизировано (NTP). Расхождение ломает лицензии и журналы.
- 🔢 Платформа на сервере и на клиентах — одна и та же версия до третьего числа (например,
8.3.25). Разные релизы платформы дают ошибку при подключении.
Порты и сеть
| Порт | Что слушает |
|---|---|
| 1540 | агент сервера (ragent) |
| 1541 | менеджер кластера (rmngr) |
| 1560–1591 | рабочие процессы (rphost) |
| 1545 | сервер администрирования (ras), если используете |
Откройте их во внутренней сети. Наружу в интернет порты 1С не выставляют: только через VPN или терминальный шлюз.
Если в диапазоне 1560–1591 порты закрыты, подключение «вроде проходит», а потом обрывается на открытии базы. Это самая частая причина жалоб «агент работает, а база не открывается».
Установка сервера 1С на Windows Server
На Windows сервер ставится тем же установщиком, что и клиент, но с отметкой нужного компонента.
- Запустите
setup.exeиз дистрибутива технологической платформы под учётной записью администратора. - На шаге выбора компонентов отметьте «1С:Предприятие» и «Сервер 1С:Предприятия». Если сервер нужен только как сервер, клиентскую часть можно не ставить.
- Установщик спросит, как запускать службу. Отметьте установку сервера как службы Windows.
- Выберите пользователя. Вариант по умолчанию — локальный
USR1CV8, его создаёт установщик. В домене чаще заводят отдельную учётную запись службы. - Дождитесь завершения и проверьте в оснастке «Службы» запись «Агент сервера 1С:Предприятия 8.3 (x86-64)». Статус — «Выполняется», тип запуска — «Автоматически».
У пользователя службы должны быть права «Полный доступ» на каталог кластера. По умолчанию это srvinfo в каталоге платформы или тот путь, который вы указали.
Каталог кластера на отдельном диске
Если каталог нужно вынести, остановите службу и пересоздайте её с нужным параметром. Служба запускает ragent с ключами, и ключ -d задаёт каталог:
ragent.exe -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\srvinfo"
Для постоянного запуска эту строку прописывают в параметры службы через sc create. Если путь с пробелами, берите его в кавычки.
Не запускайте ragent вручную «для проверки» из-под администратора поверх работающей службы. Получите конфликт портов и два экземпляра сервера.
Развёртывание на Linux: Ubuntu и CentOS
Linux-сервер 1С устанавливают из пакетов .deb (Ubuntu, Debian) или .rpm (CentOS, Red Hat, Alt). Платформа на Linux — 64-битная.
Подготовка системы
Перед установкой поставьте локаль и базовые библиотеки. Без русской локали платформа может падать на кириллице в именах.
sudo locale-gen ru_RU.UTF-8
sudo update-locale LANG=ru_RU.UTF-8
Для графики в консоли и для работы ряда компонентов нужны шрифты и стандартные библиотеки. Список зависимостей пакетный менеджер подтянет сам, когда вы будете ставить пакеты 1С через apt или dnf, а не через голый dpkg -i.
Установка пакетов
Из дистрибутива сервера понадобятся: общий пакет (common), пакет сервера (server) и при необходимости пакет ядра на нужном языке (... -nls). Ставьте через пакетный менеджер, чтобы не ловить ошибки зависимостей:
sudo apt install ./1c-enterprise-8.3.*-common_*.deb ./1c-enterprise-8.3.*-server_*.deb
На CentOS и аналогах команда та же по смыслу, с dnf install и файлами .rpm.
Пакет создаёт пользователя usr1cv8 и группу grp1cv8, а также юнит службы srv1cv83. Платформа ложится в каталог вида /opt/1cv8/x86_64/8.3.хх.хххх/.
Запуск службы и автозапуск
sudo systemctl enable srv1cv83
sudo systemctl start srv1cv83
sudo systemctl status srv1cv83
В статусе должно быть active (running). Если служба сразу падает, смотрите journalctl -u srv1cv83 -n 50. Типичные причины: нет прав у usr1cv8 на каталог кластера, занят порт 1540 или не хватает библиотеки.
Каталог кластера по умолчанию — в домашнем каталоге usr1cv8. Если переносите на другой диск, задайте его в файле окружения службы и выдайте права владельца пользователю usr1cv8:
sudo chown -R usr1cv8:grp1cv8 /data/srvinfo
Открыть порты
sudo ufw allow 1540/tcp
sudo ufw allow 1541/tcp
sudo ufw allow 1560:1591/tcp
На системах с firewalld — firewall-cmd --permanent --add-port=1560-1591/tcp и --reload.
Создаём кластер и базу, настраиваем службы
После запуска агента кластер обычно уже есть: при первом старте создаётся локальный кластер на порту 1541. Управлять им можно консолью или командной строкой.
Консоль администрирования
- Запустите «Администрирование серверов 1С:Предприятия» (на Windows она ставится вместе с платформой, на Linux — отдельным компонентом или с другой машины).
- Добавьте центральный сервер: имя сервера и порт агента 1540.
- Раскройте «Кластеры» и проверьте, что локальный кластер виден.
- В ветке «Информационные базы» создайте базу: имя, тип СУБД, адрес сервера СУБД, имя базы и учётные данные.
Включите флажок «Создать базу данных в случае её отсутствия», если база на сервере СУБД ещё не создана. Сервер СУБД должен быть доступен по сети с машины кластера.
Рабочие процессы и ограничения
В свойствах кластера и рабочего сервера есть параметры, которые стоит выставить сразу:
- 🔢 «Количество информационных баз на процесс» и «Количество соединений на процесс» определяют, сколько рабочих процессов запустится. Для небольшой базы подойдёт один-два процесса на базу.
- 💾 «Допустимый объём памяти рабочих процессов» и «Интервал перезапуска» защищают от утечек. Процесс, который вышел за лимит, перезапустится, когда освободится от сеансов.
- 🧩 «Безопасный расход памяти за один вызов» не даёт одному запросу съесть всю память.
Значения подбирают по нагрузке. Для старта оставьте параметры по умолчанию и меняйте по одному, наблюдая за результатом.
Администрирование из командной строки
Для скриптов используют rac и ras. Сначала запускается ras, затем rac подключается к нему:
ras cluster --port=1545 localhost:1540
rac localhost:1545 cluster list
Так можно получать список сеансов, отключать зависшие и создавать базы автоматикой.
Лицензирование: программная лицензия и ключ защиты
Сервер тоже требует лицензий. Клиентские подключения считаются по лицензиям на количество рабочих мест, а серверная лицензия нужна самому серверу в зависимости от его варианта поставки.
| Вариант | Как подключить | На что смотреть |
|---|---|---|
| Программная лицензия | активация по пин-коду в консоли или утилитой | привязка к конфигурации железа, при смене сервера нужна повторная активация |
| Аппаратный ключ (USB) | подключить к серверу, поставить драйвер | на виртуальной машине нужен проброс USB или сетевой менеджер ключей |
| Сетевой ключ | сервер лицензирования | порт менеджера лицензий должен быть доступен серверу кластера |
Сервер получает лицензию в момент подключения клиента. Если лицензии нет, клиент видит сообщение вроде Не найдено свободной лицензии.
Лицензии переносят и восстанавливают только свои, легально приобретённые. Рабочих способов «обойти» проверку здесь не будет: это нарушает закон и ломает обновления.
Для виртуальной машины программная лицензия удобнее ключа: нет проблем с пробросом USB. Но при клонировании ВМ привязка может слететь, и активацию придётся делать заново.
Диагностика проблем при запуске
Когда сервер «не поднимается», идите от простого к сложному. Сначала служба, потом порты, потом права, потом логи.
journalctl -u srv1cv83 -n 50. Проверьте владельца каталога кластера (usr1cv8:grp1cv8), свободное место на диске и занятость порта 1540 командой ss -ltnp | grep 1540.Где смотреть логи
На Windows файлы журналов лежат в каталоге кластера, подпапка с логами рабочих процессов, и в журнале событий Windows. На Linux — рядом с кластером и в journalctl. Технологический журнал включается файлом logcfg.xml в каталоге conf платформы. Включайте его на время разбора проблемы, а не навсегда: он быстро растёт.
Оптимизация производительности после запуска
Запустили, база открывается. Теперь не дайте серверу тормозить через месяц.
- ⚡ Диск — главный узел. Журналы СУБД и временные файлы держите на быстром SSD или NVMe.
- 🧠 Память СУБД и память
rphostне должны вместе занимать всю оперативную память. Оставьте запас для ОС, хотя бы 10–15%. - 📈 Следите за числом сеансов и загрузкой процессора по рабочим процессам. Один процесс, который стабильно выжимает ядро, — повод искать тяжёлый запрос.
- 🔄 Настройте регламентное обслуживание СУБД: обновление статистики и очистку. Для PostgreSQL используйте сборку, рекомендованную для 1С, и параметры, подобранные под объём памяти.
- 🧹 Раз в сутки пусть работает перезапуск рабочих процессов в ночное время. Он снимает накопленные утечки.
Проверьте итог пробной нагрузкой: откройте самую тяжёлую базу, проведите документ, сформируйте большой отчёт. Если открытие базы занимает секунды, а отчёт строится за разумное время, сервер готов.