Клиент-серверная 1С: от установки сервера до первого входа пользователей
Содержание
Подключить 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). Если на клиенте старее, при входе придёт предложение обновиться или ошибка несовместимости.
Установка серверной платформы и СУБД
СУБД ставят первой. Для PostgreSQL обычно берут сборку, которую 1С выпускает для платформы: она нужна под определённые возможности и поддерживается вместе с релизами. Для MS SQL Server подойдёт любая редакция из списка совместимых. Порт PostgreSQL по умолчанию 5432, у MS SQL 1433.
Затем ставится платформа. На Windows:
- Запустите установщик платформы от имени администратора.
- На шаге выбора компонентов отметьте «Сервер 1С:Предприятия». Если сервер и клиент нужны на одной машине, добавьте и клиент.
- Установщик спросит, ставить ли сервер как службу Windows. Выберите установку как службы: так он стартует вместе с системой.
- Оставьте пользователя по умолчанию (
USR1CV8) или укажите доменного. Этому пользователю нужен доступ к каталогу кластера и к каталогам временных файлов. - Дождитесь завершения и проверьте в «Службах» запись «Агент сервера 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С:Предприятия». Введите имя машины с портом агента, например
srv-1c:1540. - Внутри сервера увидите кластер «Локальный кластер» на порту 1541. Если его нет, создайте через «Кластеры» — «Создать».
- Если задан администратор кластера, программа запросит имя и пароль. Для первых настроек пароль можно не задавать, но на рабочем сервере его задайте.
Для автоматизации есть утилита rac и служба ras (порт 1545 по умолчанию). Например, список кластеров:
rac cluster list
Служба ras по умолчанию не запущена. Её включают, если консоль нужна по сети или нужны скрипты. Закрывайте порт 1545 файрволом: через него управляют всем сервером.
Какие порты открыть
Минимальный набор между клиентом и сервером:
| Порт | Назначение |
|---|---|
| 1540 | агент сервера |
| 1541 | менеджер кластера |
| 1560-1591 | рабочие процессы |
| 1545 | служба ras, только для администраторов |
| 5432 или 1433 | СУБД, только между сервером 1С и сервером СУБД |
СУБД не открывайте клиентам. Рабочие места должны ходить только на порты 1С, а СУБД видит один сервер приложений.
Создание информационной базы на сервере
Есть два способа: из окна запуска 1С и из консоли администрирования. Первый удобнее, когда база новая или создаётся из шаблона (типовой конфигурации или выгрузки .dt).
Из окна запуска:
- Откройте 1С и нажмите «Добавить». Выберите «Создание новой информационной базы».
- Выберите шаблон или создайте базу без конфигурации (если потом будете загружать
.dt). - Введите имя базы, как оно будет видно пользователям, и выберите тип расположения: «На сервере 1С:Предприятия».
- Укажите кластер: имя сервера и порт, например
srv-1c:1541. В поле «Имя информационной базы в кластере» — короткое латинское имя, напримерbuh. - Выберите тип СУБД, адрес сервера СУБД, имя базы данных в СУБД и учётную запись.
- Отметьте «Создать базу данных в случае её отсутствия», если база в СУБД ещё не создана.
- Задайте смещение дат: 0 для обычных баз, 2000 только если нужна совместимость со старыми версиями.
Если СУБД пишет, что нет прав на создание, учётной записи не хватает роли. Для PostgreSQL учётка — суперпользователь или владелец с правом создавать базы, для MS SQL — серверная роль, позволяющая создавать базы.
Чтобы загрузить существующую базу, откройте её в режиме «Конфигуратор» и выберите «Администрирование» — «Загрузить информационную базу», укажите файл .dt. Для крупных баз загрузка занимает от нескольких минут до часов, не прерывайте её.
Лицензии: серверные и клиентские
Лицензирование состоит из двух слоёв. Серверная лицензия разрешает сам кластер работать, клиентские лицензии (КЛ) определяют, сколько сеансов может открыть пользователь. Они бывают программные и аппаратные (USB-ключ).
Где лежит лицензия, зависит от способа:
- 🔌 USB-ключ вставляют в тот компьютер, на котором работает сервер 1С. Для сервера в виртуалке нужен проброс USB или сетевой ключ (USB over IP);
- 💻 Программная лицензия активируется на сервере через ввод пин-кода при запуске. Она привязывается к параметрам машины, поэтому после переноса или смены оборудования понадобится повторная активация;
- 🌐 Сервер лицензий (отдельная служба) раздаёт клиентские лицензии из пула.
Проверить, что лицензия видна, можно в консоли: у кластера есть узел «Лицензии», где показано, кто сколько занимает. При нехватке КЛ пользователи видят отказ при входе, а число сеансов в консоли при этом ниже, чем число купленных лицензий: часть занимают зависшие или фоновые сеансы.
Пример: куплено 20 клиентских, работает 18 человек, у трёх открыты сразу два окна. Если два окна под одним пользователем с одного компьютера, лицензия расходуется один раз, но с разных компьютеров уже по лицензии на каждый. Итог: заняты 21, и двадцать первому не хватит.
Купленные и активированные лицензии привязаны к вашей организации. Не переносите ключи между компаниями и не используйте чужие пин-коды: это нарушает лицензионное соглашение, а такие лицензии блокируют.
Подключение клиентских рабочих мест
На клиентском компьютере нужна платформа той же версии. Серверный компонент ставить не нужно.
Добавление базы в список:
- Запустите 1С, нажмите «Добавить» — «Добавление в список существующей информационной базы».
- Укажите название, как его увидят пользователи.
- Тип расположения — «На сервере 1С:Предприятия». Кластер:
srv-1c:1541или простоsrv-1c, если порты стандартные. Имя базы: то, что вы дали в кластере (buh). - Выберите способ аутентификации и завершите мастер.
Если рабочих мест десятки, добавлять базу вручную неудобно. Тогда используют общий файл списка баз ibases.v8i, который кладут на сетевую папку. Укажите его через параметр запуска или в настройках платформы на клиенте. Либо пишут ярлык с параметрами:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv-1c\buh"
Строка соединения для скриптов и COM-подключения выглядит так:
Srvr="srv-1c:1541";Ref="buh";
Тонкий клиент ставится так же, как обычный, а веб-клиент требует публикации базы на веб-сервере. Это отдельная настройка: подключить через браузер можно только после публикации.
Если что-то не работает: диагностика и производительность
Сначала найдите, на каком участке обрыв. Идите от клиента к серверу:
- Пингуется ли сервер по имени, и открывается ли порт 1541 (
Test-NetConnection srv-1c -Port 1541в PowerShell). - Запущена ли служба агента, и есть ли в списке процессов
ragent,rmngrи хотя бы одинrphost. - Видит ли консоль кластер и нужную базу.
- Отвечает ли СУБД с сервера 1С.
pg_hba.conf, там должен быть разрешён адрес сервера 1С. Для MS SQL включите TCP/IP в конфигурации сети.Что делать, когда подключились, но работа тормозит:
- 📈 Следите за загрузкой процессора и памяти на сервере. Если
rphostзабирает почти всю память, проблема в нехватке ресурсов или утечке: смотрите, какая операция её вызывает. - 🔍 Включите технологический журнал (файл
logcfg.xml) на время диагностики. Он покажет долгие вызовы и блокировки. Не оставляйте его постоянно включённым, журнал быстро растёт. - 🧹 Регулярно обслуживайте СУБД: для PostgreSQL это
VACUUM/ANALYZE, для MS SQL пересчёт статистики и индексов. Обычно делают их ночью по расписанию. - 🗂️ Следите за размером журнала регистрации и за очисткой временных файлов.
- ⏱️ Для поиска тяжёлых операций в самой 1С пригодится замер производительности (раздел «Администрирование» — «Поддержка и обслуживание», если он включён в вашей конфигурации).
Не лечите медленную работу покупкой железа раньше замера. В большинстве случаев причина в одном-двух тяжёлых отчётах или регламентном задании, а не в слабом процессоре.
Резервное копирование и обслуживание после запуска
Когда пользователи уже вошли, заведите расписание. Минимум:
- 💾 ежедневная полная копия базы средствами СУБД и недельная выгрузка
.dtна другой носитель; - 📁 копия каталога кластера (в нём список баз и настройки);
- 🔁 пробное восстановление раз в квартал: рабочая копия, которую нельзя восстановить, ничего не стоит;
- 🔄 плановое обновление платформы: сначала на тестовой копии, затем на рабочем сервере.
Перед любыми изменениями в рабочей базе делайте копию и согласовывайте окно работ с руководителем. Для обновления платформы закройте все сеансы, остановите службу агента, установите новую версию и запустите службу снова.