Развёртывание клиент-серверной 1С:Предприятия 8.3 с PostgreSQL
Содержание
Чтобы развернуть 1С на сервере, нужны три компонента: сервер 1С:Предприятия 8.3 (служба агента и кластера), СУБД (PostgreSQL в сборке для 1С или MS SQL Server) и консоль администрирования. Порядок такой: готовите машину и сеть, ставите СУБД, ставите сервер 1С, регистрируете в кластере информационную базу и подключаете клиентов строкой Srvr="имя_сервера";Ref="имя_базы";.
Типичная ситуация: файловая база на общей папке выросла до 15–20 ГБ, пользователей стало больше десяти, и 1С начинает «думать» на каждом проведении. Переезд в клиент-серверный вариант решает это, но только при аккуратной настройке. Ниже — порядок действий для Windows Server и Linux, без лишних компонентов.
1. Подготовка сервера: железо, ОС и сеть
Сервер 1С и СУБД можно ставить на одну машину — для небольших компаний это нормальный вариант. Разносить их по разным серверам имеет смысл при большой нагрузке, когда одной машине не хватает памяти или дисковой подсистемы.
Ориентировочные конфигурации (для типовых БП, ЗУП, УТ):
| Пользователей | Процессор | Память | Диски |
|---|---|---|---|
| до 10 | 4 ядра | 16 ГБ | SSD, отдельный том под базы |
| 10–30 | 6–8 ядер | 32 ГБ | NVMe, базы и журналы СУБД раздельно |
| 30–80 | 12–16 ядер | 64–128 ГБ | NVMe в RAID 1/10 |
Цифры примерные: тяжёлая ERP или много фоновых заданий съедят ресурсы быстрее. Главное узкое место обычно — диск и память под СУБД, а не процессор.
Выбор ОС:
- 🪟 Windows Server 2016 и новее — привычная консоль администрирования, проще для администратора без опыта Linux, но нужны лицензии Windows и CAL.
- 🐧 Linux (Ubuntu, Debian, RHEL-совместимые, Astra Linux, РЕД ОС, Альт) — экономия на лицензиях ОС, стабильная работа с PostgreSQL. Список поддерживаемых дистрибутивов зависит от версии платформы, сверяйте его с требованиями к выпуску.
Что сделать до установки:
- Задайте серверу постоянное имя и статический IP. Не переименовывайте сервер после установки 1С: кластер запоминает имя компьютера, и после смены имени клиенты перестанут к нему подключаться.
- Убедитесь, что имя сервера разрешается с каждого клиентского компьютера: через DNS или строкой в файле
hosts. Клиент получает от агента адреса процессов по имени, а не по IP. - Синхронизируйте время (NTP) на сервере и клиентах.
- На Linux установите локаль
ru_RU.UTF-8и шрифты Microsoft (пакетttf-mscorefonts-installerв Debian/Ubuntu) — без них поедут печатные формы.
2. Установка серверной части 1С:Предприятия
Дистрибутив берите той же версии, что будет на клиентах. Номер платформы на сервере и клиентах должен совпадать до последней цифры, иначе клиент не подключится.
Windows Server
- Запустите
setup.exeиз дистрибутива «Технологическая платформа 1С:Предприятия (64-bit) для Windows». - В списке компонентов отметьте «Сервер 1С:Предприятия 8» и «Администрирование сервера 1С:Предприятия». Клиент на сервере ставить не обязательно, но для работы в Конфигураторе он пригодится.
- На шаге параметров сервера выберите установку как службы Windows. Служба по умолчанию работает от пользователя
USR1CV8— задайте ему надёжный пароль. - После установки проверьте, что служба «Агент сервера 1С:Предприятия 8.3» запущена.
- Зарегистрируйте библиотеку консоли той же версии (от имени администратора):
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Без этого консоль «Администрирование серверов 1С Предприятия» не откроется или будет ругаться на несовпадение версий. Этот шаг повторяют после каждого обновления платформы.
Linux
С платформы 8.3.20 для Linux поставляется единый установщик setup-full-8.3.xx.xxxx-x86_64.run. Ставим только серверные компоненты:
chmod +x setup-full-8.3.xx.xxxx-x86_64.run
sudo ./setup-full-8.3.xx.xxxx-x86_64.run --mode unattended --enable-components server,ws
Компонент ws нужен, если планируете публикацию на веб-сервере. Установщик создаёт пользователя usr1cv8, файлы лягут в /opt/1cv8/x86_64/8.3.xx.xxxx/.
В новых версиях платформы в этом каталоге лежит готовый unit-файл systemd. Подключите и запустите службу:
sudo systemctl link /opt/1cv8/x86_64/8.3.xx.xxxx/srv1cv8-8.3.xx.xxxx@.service
sudo systemctl enable --now srv1cv8-8.3.xx.xxxx@default
sudo systemctl status srv1cv8-8.3.xx.xxxx@default
Как управлять сервером на Linux
Графической консоли на Linux нет. Есть два пути:
- 🖥️ поднять сервер администрирования
ras(порт 1545 по умолчанию) и подключаться к нему консолью с Windows-машины; - ⌨️ работать утилитой командной строки
racчерез тот жеras: например,rac cluster listпокажет кластеры, а остальные команды —rac help.
Unit-файл для ras в каталоге платформы тоже есть, подключается так же, через systemctl link.
3. PostgreSQL для 1С и создание информационной базы
Обычный PostgreSQL из репозитория дистрибутива 1С не подойдёт: нужна сборка с патчами для 1С (от фирмы 1С или Postgres Pro для 1С). Она содержит расширения и типы данных, без которых база не создастся. Версию сборки выбирайте из тех, что поддерживает ваша версия платформы.
После установки СУБД:
- Инициализируйте кластер PostgreSQL с русской локалью (
ru_RU.UTF-8), если пакет не сделал этого сам. - Задайте пароль пользователю
postgresили создайте отдельную роль для 1С с правом создания баз. - В
pg_hba.confразрешите подключение только с адреса сервера 1С (или с127.0.0.1, если всё на одной машине). - Поправьте ключевые параметры в
postgresql.conf(ориентир для сервера, где СУБД — основная нагрузка):
shared_buffers = 4GB # около 25% памяти
effective_cache_size = 12GB # 50–75% памяти
work_mem = 64MB
maintenance_work_mem = 1GB
max_locks_per_transaction = 256 # 1С держит много блокировок в одной транзакции
Значения подбирайте под свой объём памяти и перезапустите службу PostgreSQL. Перезапуск оборвёт подключения, поэтому делайте его до ввода сервера в работу или в нерабочее время.
Создание базы через консоль кластера
- Откройте консоль администрирования, добавьте центральный сервер по имени (для Linux — адрес
ras). - Раскройте
Кластеры → Локальный кластер → Информационные базы, в контекстном меню выберитеСоздать → Информационная база. - Заполните поля: имя базы в кластере, тип СУБД
PostgreSQL, сервер баз данных, имя базы в СУБД, пользователь и пароль СУБД. - Включите флажок «Создать базу данных в случае ее отсутствия».
- Для копии рабочей базы установите блокировку регламентных заданий — иначе тестовая копия начнёт отправлять отчёты и загружать банк.
Перенос файловой базы на сервер
- В старой файловой базе Конфигуратор →
Администрирование → Выгрузить информационную базу→ файл.dt. Выгрузка требует монопольного режима: попросите всех выйти. - Создайте пустую серверную базу (шаги выше), откройте её в Конфигураторе.
Администрирование → Загрузить информационную базу→ выберите.dt.- Добавьте базу в список у пользователей: «Добавить → Добавление в список существующей информационной базы → На сервере 1С:Предприятия», укажите кластер и имя базы.
4. Настройка кластера серверов 1С
У кластера три сетевых точки, и их часто путают:
| Порт | Что слушает | Где задаётся |
|---|---|---|
| 1540 | Агент сервера (ragent) | при установке службы |
| 1541 | Менеджер кластера (rmngr) | свойства кластера |
| 1560–1591 | Рабочие процессы (rphost) | свойства рабочего сервера |
| 1545 | Сервер администрирования ras | параметры запуска ras |
Клиент сначала идёт к агенту на 1540, затем к менеджеру кластера на 1541, а дальше получает адрес рабочего процесса из диапазона. Если открыть в брандмауэре только 1540–1541, клиент «увидит» сервер, но работать не сможет.
Что настроить в свойствах рабочего сервера:
- ⚙️ Количество ИБ на процесс и количество соединений на процесс — для начала оставьте значения по умолчанию, меняйте, если в одном процессе толкаются тяжёлые базы.
- 🧠 Максимальный объём памяти рабочих процессов — ограничьте с запасом под СУБД, если она на той же машине.
- 🛡️ Безопасный расход памяти за один вызов — защищает сервер от одного «прожорливого» отчёта.
- 🔁 Требования назначения функциональности — нужны, когда в кластере несколько рабочих серверов и вы хотите, например, вынести фоновые задания на отдельную машину.
Отказоустойчивость (резервные серверы, уровень отказоустойчивости кластера) настраивают, только если рабочих серверов два и больше. Для одной машины трогать не нужно.
5. Производительность и безопасность сервера 1С
Сразу после развёртывания закройте доступ, пока к серверу не подключились пользователи.
- Администраторы центрального сервера. В консоли у агента добавьте администратора с паролем. Пока список пуст, любой в сети может управлять сервером.
- Администраторы кластера. В свойствах кластера → «Администраторы» заведите отдельную учётную запись. Пароль запишите в хранилище паролей: если его потерять, придётся останавливать службу и восстанавливать файлы настроек кластера из резервной копии.
- Брандмауэр. Порты 1540, 1541, 1560–1591 откройте только для локальной сети или VPN. Порт PostgreSQL 5432 наружу не открывайте совсем.
- Пользователи баз. В каждой базе заведите пользователей с паролями и снимите галочку «Показывать в списке выбора» для администратора.
По производительности практические приёмы такие:
- 💾 Каталог
srvinfo(журналы регистрации, сеансовые данные) держите на быстром диске. На Windows по умолчанию этоC:\Program Files\1cv8\srvinfo, на Linux — домашний каталогusr1cv8. - 🧹 Настройте регламентное обслуживание PostgreSQL:
VACUUM ANALYZEпо расписанию в нерабочее время, если автоочистка не справляется на больших таблицах. - 🔌 На Windows включите схему электропитания «Высокая производительность» — с экономичной схемой частота процессора скачет, и 1С это чувствует.
- 📊 Счётчики загрузки рабочих процессов смотрите в консоли кластера, раздел «Рабочие процессы»: там видно память и число соединений каждого
rphost.
6. Резервное копирование и восстановление серверных баз
Выгрузка .dt из Конфигуратора требует монопольного режима и на большой базе идёт долго. Для ежедневных копий удобнее средства СУБД — они работают без выгона пользователей.
Ночная копия PostgreSQL:
pg_dump -U postgres -Fc -f /backup/buh_$(date +%F).backup buh
find /backup -name "buh_*.backup" -mtime +14 -delete
Восстановление в новую пустую базу:
createdb -U postgres -T template0 buh_restore
pg_restore -U postgres -d buh_restore /backup/buh_2026-10-01.backup
Затем зарегистрируйте buh_restore в кластере как новую информационную базу с блокировкой регламентных заданий и проверьте данные. Восстанавливать поверх рабочей базы не стоит: если копия окажется битой, вы останетесь без обеих.
Схема, которой достаточно небольшой компании:
| Что | Как часто | Чем |
|---|---|---|
| Дамп базы СУБД | каждую ночь | pg_dump по расписанию (cron или планировщик) |
Выгрузка .dt | раз в неделю или перед обновлением | Конфигуратор |
Каталог настроек кластера (srvinfo) | после изменений в кластере | копирование файлов при остановленной службе |
| Копия на другой носитель | ежедневно | любой инструмент синхронизации |
Остановка службы 1С для копирования srvinfo обрывает все сеансы. Делайте это в нерабочее время и заранее предупреждайте пользователей.
Раз в месяц делайте пробное восстановление. Копия, которую ни разу не разворачивали, — это надежда, а не резерв.
7. Ошибки при развёртывании сервера 1С
ping имя_сервера), а порты 1540 и 1541 открыты в брандмауэре сервера.Если после всех проверок клиенты с одного компьютера подключаются, а с другого нет, сравните на них версию платформы, файл hosts и антивирус: сетевые экраны антивирусов часто режут исходящие соединения на нестандартные порты.