Клиент-серверная 1С: от установки сервера до первого входа пользователей

· 10 мин

Содержание

Подключить 1С на сервере можно двумя путями. Файловый вариант: база лежит в сетевой папке, каждый клиент открывает её сам. Клиент-серверный: базу ведёт серверная платформа 1С вместе с СУБД, а рабочие места только отправляют запросы. Файловый режим хватает на 3-5 пользователей. Дальше начинаются блокировки, потеря данных при сбое сети и медленные отчёты. С 10-15 одновременных сеансов и базой от нескольких гигабайт клиент-сервер выбирают почти всегда.

Рабочая схема собирается из четырёх частей: сервер 1С (агент, менеджер и рабочие процессы), СУБД (PostgreSQL или MS SQL Server), кластер серверов и информационная база в нём. Клиентам остаётся указать адрес сервера и имя базы. Ниже все шаги по порядку, с портами, строкой соединения и разбором сбоев.

Что подготовить до установки

Начните с выбора схемы. Три типовых варианта:

СхемаКогда подходитМинус
Один сервер: 1С и СУБД вместедо 20-30 пользователей, небольшие базыСУБД и 1С делят память и процессор
Два сервера: 1С отдельно, СУБД отдельно30-100 пользователей, тяжёлые отчётынужна быстрая сеть между ними
Виртуальная машинанужны снимки и быстрый переносследите за переподпиской ядер и памяти

Для старта на 10-20 пользователей ориентируйтесь примерно на 4-8 ядер, 16-32 ГБ памяти и SSD под базы и журнал транзакций. Это ориентир, а не норма: точнее покажет нагрузка в первые недели.

Проверьте заранее:

  • 🖥️ операционная система поддерживается вашей версией платформы (список смотрите в описании релиза платформы);
  • 🔑 есть лицензии на сервер и на нужное число клиентских подключений;
  • 🌐 у сервера постоянный адрес и имя в DNS, а не адрес из DHCP;
  • 💾 места на диске хватит и на базу, и на резервные копии;
  • 🕒 время на сервере и в СУБД синхронизировано.

Версия платформы на сервере и на клиентах должна совпадать хотя бы по первым трём числам (например, 8.3.24). Если на клиенте старее, при входе придёт предложение обновиться или ошибка несовместимости.

Перед установкой
Выполнено: 0 / 5

Установка серверной платформы и СУБД

СУБД ставят первой. Для PostgreSQL обычно берут сборку, которую 1С выпускает для платформы: она нужна под определённые возможности и поддерживается вместе с релизами. Для MS SQL Server подойдёт любая редакция из списка совместимых. Порт PostgreSQL по умолчанию 5432, у MS SQL 1433.

Затем ставится платформа. На Windows:

  1. Запустите установщик платформы от имени администратора.
  2. На шаге выбора компонентов отметьте «Сервер 1С:Предприятия». Если сервер и клиент нужны на одной машине, добавьте и клиент.
  3. Установщик спросит, ставить ли сервер как службу Windows. Выберите установку как службы: так он стартует вместе с системой.
  4. Оставьте пользователя по умолчанию (USR1CV8) или укажите доменного. Этому пользователю нужен доступ к каталогу кластера и к каталогам временных файлов.
  5. Дождитесь завершения и проверьте в «Службах» запись «Агент сервера 1С:Предприятия 8.3».

На Linux сервер ставят пакетами из дистрибутива платформы. Служба называется srv1cv83, работает под пользователем usr1cv8. Запуск и автозагрузка:

sudo systemctl enable --now srv1cv83
sudo systemctl status srv1cv83

После старта сервера в системе появляются три процесса. Отличать их полезно при диагностике:

  • 🧭 ragent — агент сервера, держит порт 1540;
  • 📋 rmngr — менеджер кластера, порт 1541;
  • ⚙️ rphost — рабочие процессы, в них выполняется код 1С; порты из диапазона 1560-1591.

Каталог кластера (по умолчанию внутри профиля пользователя службы) держите на отдельном быстром диске и закладывайте в резервное копирование. Там лежит список баз и настройки кластера.

Кластер серверов: создание и регистрация

После первой установки агент сам создаёт локальный кластер на порту 1541. Для небольшой компании этого достаточно, кластер уже готов и нового создавать не нужно. Отдельный кластер заводят, когда нужно разделить базы по нагрузке или по заказчикам.

Управлять кластером можно консолью администрирования серверов 1С (входит в поставку платформы, на Windows это оснастка, в новых версиях есть и отдельное приложение). Порядок:

  1. Откройте консоль. Раскройте узел «Центральные серверы 1С:Предприятия».
  2. Правой кнопкой по узлу — «Создать» — «Центральный сервер 1С:Предприятия». Введите имя машины с портом агента, например srv-1c:1540.
  3. Внутри сервера увидите кластер «Локальный кластер» на порту 1541. Если его нет, создайте через «Кластеры» — «Создать».
  4. Если задан администратор кластера, программа запросит имя и пароль. Для первых настроек пароль можно не задавать, но на рабочем сервере его задайте.

Для автоматизации есть утилита rac и служба ras (порт 1545 по умолчанию). Например, список кластеров:

rac cluster list

Служба ras по умолчанию не запущена. Её включают, если консоль нужна по сети или нужны скрипты. Закрывайте порт 1545 файрволом: через него управляют всем сервером.

Какие порты открыть

Минимальный набор между клиентом и сервером:

ПортНазначение
1540агент сервера
1541менеджер кластера
1560-1591рабочие процессы
1545служба ras, только для администраторов
5432 или 1433СУБД, только между сервером 1С и сервером СУБД

СУБД не открывайте клиентам. Рабочие места должны ходить только на порты 1С, а СУБД видит один сервер приложений.

Создание информационной базы на сервере

Есть два способа: из окна запуска 1С и из консоли администрирования. Первый удобнее, когда база новая или создаётся из шаблона (типовой конфигурации или выгрузки .dt).

Из окна запуска:

  1. Откройте 1С и нажмите «Добавить». Выберите «Создание новой информационной базы».
  2. Выберите шаблон или создайте базу без конфигурации (если потом будете загружать .dt).
  3. Введите имя базы, как оно будет видно пользователям, и выберите тип расположения: «На сервере 1С:Предприятия».
  4. Укажите кластер: имя сервера и порт, например srv-1c:1541. В поле «Имя информационной базы в кластере» — короткое латинское имя, например buh.
  5. Выберите тип СУБД, адрес сервера СУБД, имя базы данных в СУБД и учётную запись.
  6. Отметьте «Создать базу данных в случае её отсутствия», если база в СУБД ещё не создана.
  7. Задайте смещение дат: 0 для обычных баз, 2000 только если нужна совместимость со старыми версиями.

Если СУБД пишет, что нет прав на создание, учётной записи не хватает роли. Для PostgreSQL учётка — суперпользователь или владелец с правом создавать базы, для MS SQL — серверная роль, позволяющая создавать базы.

Чтобы загрузить существующую базу, откройте её в режиме «Конфигуратор» и выберите «Администрирование» — «Загрузить информационную базу», укажите файл .dt. Для крупных баз загрузка занимает от нескольких минут до часов, не прерывайте её.

Откуда берём базу?

Лицензии: серверные и клиентские

Лицензирование состоит из двух слоёв. Серверная лицензия разрешает сам кластер работать, клиентские лицензии (КЛ) определяют, сколько сеансов может открыть пользователь. Они бывают программные и аппаратные (USB-ключ).

Где лежит лицензия, зависит от способа:

  • 🔌 USB-ключ вставляют в тот компьютер, на котором работает сервер 1С. Для сервера в виртуалке нужен проброс USB или сетевой ключ (USB over IP);
  • 💻 Программная лицензия активируется на сервере через ввод пин-кода при запуске. Она привязывается к параметрам машины, поэтому после переноса или смены оборудования понадобится повторная активация;
  • 🌐 Сервер лицензий (отдельная служба) раздаёт клиентские лицензии из пула.

Проверить, что лицензия видна, можно в консоли: у кластера есть узел «Лицензии», где показано, кто сколько занимает. При нехватке КЛ пользователи видят отказ при входе, а число сеансов в консоли при этом ниже, чем число купленных лицензий: часть занимают зависшие или фоновые сеансы.

Пример: куплено 20 клиентских, работает 18 человек, у трёх открыты сразу два окна. Если два окна под одним пользователем с одного компьютера, лицензия расходуется один раз, но с разных компьютеров уже по лицензии на каждый. Итог: заняты 21, и двадцать первому не хватит.

Купленные и активированные лицензии привязаны к вашей организации. Не переносите ключи между компаниями и не используйте чужие пин-коды: это нарушает лицензионное соглашение, а такие лицензии блокируют.

Подключение клиентских рабочих мест

На клиентском компьютере нужна платформа той же версии. Серверный компонент ставить не нужно.

Добавление базы в список:

  1. Запустите 1С, нажмите «Добавить» — «Добавление в список существующей информационной базы».
  2. Укажите название, как его увидят пользователи.
  3. Тип расположения — «На сервере 1С:Предприятия». Кластер: srv-1c:1541 или просто srv-1c, если порты стандартные. Имя базы: то, что вы дали в кластере (buh).
  4. Выберите способ аутентификации и завершите мастер.

Если рабочих мест десятки, добавлять базу вручную неудобно. Тогда используют общий файл списка баз ibases.v8i, который кладут на сетевую папку. Укажите его через параметр запуска или в настройках платформы на клиенте. Либо пишут ярлык с параметрами:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv-1c\buh"

Строка соединения для скриптов и COM-подключения выглядит так:

Srvr="srv-1c:1541";Ref="buh";

Тонкий клиент ставится так же, как обычный, а веб-клиент требует публикации базы на веб-сервере. Это отдельная настройка: подключить через браузер можно только после публикации.

Если что-то не работает: диагностика и производительность

Сначала найдите, на каком участке обрыв. Идите от клиента к серверу:

  1. Пингуется ли сервер по имени, и открывается ли порт 1541 (Test-NetConnection srv-1c -Port 1541 в PowerShell).
  2. Запущена ли служба агента, и есть ли в списке процессов ragent, rmngr и хотя бы один rphost.
  3. Видит ли консоль кластер и нужную базу.
  4. Отвечает ли СУБД с сервера 1С.
Диагностика: выберите симптом

Что делать, когда подключились, но работа тормозит:

  • 📈 Следите за загрузкой процессора и памяти на сервере. Если rphost забирает почти всю память, проблема в нехватке ресурсов или утечке: смотрите, какая операция её вызывает.
  • 🔍 Включите технологический журнал (файл logcfg.xml) на время диагностики. Он покажет долгие вызовы и блокировки. Не оставляйте его постоянно включённым, журнал быстро растёт.
  • 🧹 Регулярно обслуживайте СУБД: для PostgreSQL это VACUUM/ANALYZE, для MS SQL пересчёт статистики и индексов. Обычно делают их ночью по расписанию.
  • 🗂️ Следите за размером журнала регистрации и за очисткой временных файлов.
  • ⏱️ Для поиска тяжёлых операций в самой 1С пригодится замер производительности (раздел «Администрирование» — «Поддержка и обслуживание», если он включён в вашей конфигурации).

Не лечите медленную работу покупкой железа раньше замера. В большинстве случаев причина в одном-двух тяжёлых отчётах или регламентном задании, а не в слабом процессоре.

Резервное копирование и обслуживание после запуска

Когда пользователи уже вошли, заведите расписание. Минимум:

  • 💾 ежедневная полная копия базы средствами СУБД и недельная выгрузка .dt на другой носитель;
  • 📁 копия каталога кластера (в нём список баз и настройки);
  • 🔁 пробное восстановление раз в квартал: рабочая копия, которую нельзя восстановить, ничего не стоит;
  • 🔄 плановое обновление платформы: сначала на тестовой копии, затем на рабочем сервере.

Перед любыми изменениями в рабочей базе делайте копию и согласовывайте окно работ с руководителем. Для обновления платформы закройте все сеансы, остановите службу агента, установите новую версию и запустите службу снова.

Частые вопросы

Нужно ли ставить клиента 1С на сам сервер?
Не обязательно. Для работы кластера хватает серверной части. Клиент ставят, если на сервере будут запускать Конфигуратор или консоль.
Можно ли держать сервер 1С и PostgreSQL на одном компьютере?
Да, для небольших баз это обычная схема. При росте нагрузки СУБД выносят на отдельную машину, чтобы они не мешали друг другу.
Почему пользователи видят базу, но не могут в неё войти при правильном пароле?
Чаще всего в базе нет пользователя с таким именем, либо включена аутентификация операционной системы, а вход идёт под другой учётной записью. Проверьте список пользователей в Конфигураторе.
Сколько баз можно создать в одном кластере?
Ограничение накладывают ресурсы и лицензия, а не жёсткое число. На практике в одном кластере держат от нескольких до нескольких десятков баз, если хватает памяти.
Можно ли перенести кластер на другой сервер?
Можно: установите платформу на новом сервере, перенесите базы средствами СУБД, затем зарегистрируйте их в новом кластере с теми же именами. Программную лицензию на новом оборудовании придётся активировать заново.