Сервер 1С на Windows и Linux: от подготовки машины до первой базы
Содержание
Чтобы правильно установить сервер
1С:Предприятие, нужно пройти пять шагов: подготовить машину, поставить серверную
часть платформы как службу, создать кластер и базу на СУБД, активировать серверную лицензию
и открыть порты 1540, 1541 и 1560–1591. На Windows всё делает обычный установщик платформы, на Linux — единый файл setup-full-…run и systemd.
Порядок одинаков для маленького сервера на 10 пользователей и для машины под сотню сеансов. Разница только в железе и настройках памяти СУБД.
Подготовка машины и ОС под сервер 1С
Сервер 1С работает в связке с СУБД. Для небольшой компании обе службы обычно живут на одной машине. Это нормальная схема, если хватает памяти.
Ориентировочные требования к железу:
| Пользователей | Ядра CPU | ОЗУ (1С + СУБД) | Диск |
|---|---|---|---|
| до 15 | 4 | 16 ГБ | SSD/NVMe от 256 ГБ |
| 15–50 | 6–8 | 32 ГБ | NVMe, отдельный том под СУБД |
| 50–150 | 12–16 | 64–128 ГБ | NVMe в RAID 1/10 |
Цифры примерные: тяжёлая УТ или ERP съедает в разы больше, чем Бухгалтерия на тех же пользователях. Частота ядра для 1С важнее их количества: один сеанс проводки документа выполняется в одном потоке.
Что сделать до установки:
- 🖥️ ОС. Windows Server 2016 и новее либо поддерживаемый Linux (Ubuntu, Debian, Astra Linux, РЕД ОС, Альт). Только 64-разрядная.
- 🌐 Имя и адрес. Задайте серверу постоянное короткое имя (например,
srv1c) и статический IP. Имя потом прописывается в кластере, и менять его болезненно. - 🔎 DNS. Клиенты должны разрешать имя сервера. Нет своего DNS — пропишите имя в
hostsна каждом клиенте. - 🕒 Время. Включите синхронизацию времени на сервере и клиентах. Расхождение часов даёт странные ошибки в регламентных заданиях и обменах.
- 📦 Дистрибутив. Нужен комплект «Технологическая платформа 1С:Предприятия (64-bit)» для вашей ОС. Версия платформы на сервере и на клиентах должна совпадать до последней цифры.
- 💾 Своп. На Linux добавьте файл подкачки, хотя бы 4–8 ГБ, чтобы рабочий процесс не убил OOM-killer при пиковой нагрузке.
Номер версии платформы выбирайте по требованиям конфигурации, а не «самый свежий». Минимальная версия указана в описании релиза конфигурации.
Установка серверной части платформы: Windows и Linux
Windows
- Распакуйте архив платформы и запустите
setup.exeот имени администратора. - На шаге выбора компонентов включите:
- «Сервер 1С:Предприятия 8»;
- «Администрирование сервера 1С:Предприятия» — это консоль кластера;
- «Модули расширения веб-сервера» — если планируете публикацию на IIS или Apache.
- Отметьте «Установить сервер 1С:Предприятия 8 как сервис Windows ».
- Выберите пользователя службы. По умолчанию установщик создаёт локального пользователя
USR1CV8— задайте ему сложный пароль и запишите. - На последнем шаге оставьте флажок установки драйвера защиты, если будете использовать аппаратный ключ.
После установки появится служба 1C:Enterprise 8.3 Server Agent (x86-64). Проверьте, что она запущена и стоит в автоматическом запуске.
Каталог данных кластера по умолчанию — C:\Program Files\1cv8\srvinfo. Его лучше вынести на быстрый диск, где хватает места: туда пишутся сеансовые данные и кэши.
Пользователю службы нужны права «Вход в систему в качестве службы» и полный доступ к каталогу srvinfo. Если поменяли учётную запись службы вручную, права выдайте сами — иначе служба стартует и сразу останавливается.
Linux
С версии 8.3.20 платформа для Linux ставится единым установщиком. Пример для Ubuntu, номер версии подставьте свой:
chmod +x setup-full-8.3.25.1445-x86_64.run
sudo ./setup-full-8.3.25.1445-x86_64.run --mode unattended \
--enable-components server,ws,server_admin
Платформа ляжет в /opt/1cv8/x86_64/8.3.25.1445/, установщик создаст пользователя usr1cv8. Запуск службы через systemd:
sudo systemctl link /opt/1cv8/x86_64/8.3.25.1445/srv1cv8-8.3.25.1445@.service
sudo systemctl enable srv1cv8-8.3.25.1445@default
sudo systemctl start srv1cv8-8.3.25.1445@default
sudo systemctl status srv1cv8-8.3.25.1445@default
Данные кластера по умолчанию лежат в домашнем каталоге usr1cv8 — /home/usr1cv8/.1cv8/1C/1cv8.
Доставьте шрифты: без них не строятся печатные формы и отчёты. В Ubuntu это пакеты fontconfig и ttf-mscorefonts-installer.
Кластер серверов и консоль администрирования
Кластер — это набор процессов, которые обслуживают базы. Сразу после первого запуска агент создаёт кластер по умолчанию с менеджером на порту 1541.
Подключение консоли на Windows
Консоль — оснастка MMC «Администрирование серверов 1С Предприятия». Если при её открытии видна пустота или ошибка класса, перерегистрируйте библиотеку консоли той версии платформы, что стоит на сервере:
regsvr32 "C:\Program Files\1cv8\8.3.25.1445\bin\radmin.dll"
После обновления платформы эту команду нужно повторять с новым номером версии: версии консоли и сервера должны совпадать.
Дальше в консоли: правой кнопкой по «Central 1C:Enterprise 8.3 servers» → Создать → Центральный сервер 1С:Предприятия 8.3 → укажите имя сервера и порт агента 1540.
Управление на Linux
На Linux удобнее командная строка через сервер администрирования ras и утилиту rac:
/opt/1cv8/x86_64/8.3.25.1445/ras cluster --daemon
/opt/1cv8/x86_64/8.3.25.1445/rac cluster list
ras по умолчанию слушает порт 1545. Можно подключиться к
нему и графической консолью с Windows-машины.
Что настроить в кластере
- ⚙️ Свойства рабочего сервера. Здесь задаётся диапазон портов рабочих процессов (по умолчанию 1560–1591), число баз и соединений на процесс, параметры отказоустойчивости.
- 📈 Перезапуск процессов. В свойствах кластера можно задать интервал перезапуска рабочих процессов — помогает при утечках памяти в долгоживущих процессах.
- 🧹 Регламентные задания. На тестовых копиях баз ставьте блокировку регламентных заданий, чтобы копия не отправляла обмены и письма вместо рабочей базы.
Консоль ходит в кластер через агент на порту 1540. Если консоль не видит сервер, сначала проверьте этот порт и службу агента, а уже потом кластер.
Подключение СУБД: PostgreSQL и MS SQL Server
Сервер 1С хранит данные не сам, а в СУБД. Варианты на практике:
| СУБД | ОС | Когда выбирать | Нюансы |
|---|---|---|---|
| MS SQL Server | Windows | уже есть лицензии и Windows-инфраструктура | платная лицензия, кроме Express с жёсткими лимитами |
| PostgreSQL для 1С (сборка от 1С или Postgres Pro) | Windows, Linux | бюджетный вариант, сервер на Linux | нужна именно сборка с патчами под 1С |
| Файловая база | любая | 1–5 пользователей | это не серверный вариант, кластер не нужен |
Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит — нужна сборка с расширениями под 1С. Её выпускает сама фирма 1С и компания Postgres Professional.
Подготовка PostgreSQL
- Установите сборку PostgreSQL для 1С.
- Задайте пароль пользователю
postgresили создайте отдельную роль для 1С с правом создавать базы. - Настройте память в
postgresql.conf. Стартовые значения для сервера с 32 ГБ, где рядом работает 1С:
shared_buffers = 8GB
effective_cache_size = 16GB
work_mem = 64MB
maintenance_work_mem = 1GB
max_connections = 300
- В
pg_hba.confразрешите подключение только с адреса сервера 1С, а не со всей сети. - Перезапустите службу PostgreSQL.
Создание базы в кластере
В консоли: кластер → «Информационные базы» → Создать → Информационная база. Заполните:
- имя базы в кластере — его потом вводят пользователи;
- «Защищённое соединение» — выключено, если сеть внутренняя;
- «Сервер баз данных» —
localhostили имя сервера СУБД; - «Тип СУБД» — PostgreSQL или MSSQLServer;
- имя базы данных, пользователь и пароль СУБД;
- «Смещение дат» — 2000 для MS SQL; для PostgreSQL поле не используется;
- флажок «Создать базу данных в случае её отсутствия».
Флажок «Разрешить выдачу лицензий сервером 1С:Предприятия» оставьте включённым, если клиентские лицензии будут стоять на сервере.
Пустую базу затем заполняют: загружают .dt через Конфигуратор или создают базу из шаблона конфигурации. Это делается с клиента, подключённого к серверной базе.
Лицензии: серверная и клиентские
Серверу нужна своя лицензия, отдельная от пользовательских. Без неё кластер не запустит сеанс с базой — клиент получит сообщение, что лицензия сервера не найдена.
| Тип защиты | Где ставится | Что учесть |
|---|---|---|
| Программная лицензия сервера | на машине сервера 1С | привязана к железу; при замене дисков, сетевых карт или переносе виртуалки может слететь |
| Аппаратный ключ сервера (USB) | в USB-порт сервера | нужен драйвер защиты; на виртуалке — проброс USB или USB-over-IP |
| Клиентские лицензии на сервере | на машине сервера | выдаются сеансам через кластер, удобно для терминалов и веб-клиента |
Как активировать программную лицензию сервера
- Создайте базу в кластере и подключитесь к ней клиентом 1С.
- При отсутствии лицензии появится окно получения лицензии. Выберите получение лицензии на сервер 1С, укажите пин-код из конверта комплекта и регистрационные данные.
- Файлы лицензий сохранятся на сервере: в Windows — в
C:\ProgramData\1C\licenses, в Linux — в/var/1C/licenses.
Сохраните копию анкеты, которую заполняли при активации, и пин-коды. Каждый пин-код позволяет ограниченное число повторных активаций. Данные анкеты при повторной активации должны совпадать символ в символ.
Лицензия сервера бывает 32- и 64-разрядной. Для 64-разрядного сервера нужна соответствующая лицензия — 32-разрядная его не запустит.
Брандмауэр, порты и права доступа
Сервер 1С нельзя открывать во внешний интернет. Пользователи снаружи заходят через VPN, RDP-шлюз или опубликованный веб-клиент с HTTPS.
Какие порты открыть внутри сети:
| Порт | Кто слушает | Зачем |
|---|---|---|
| 1540 | агент сервера | первичное подключение клиента и консоли |
| 1541 | менеджер кластера | регистрация сеансов |
| 1560–1591 | рабочие процессы | основной обмен данными |
| 1545 | ras | консоль на Linux, утилита rac |
| 5432 / 1433 | PostgreSQL / MS SQL | только для самого сервера 1С |
Windows, правило одной командой:
netsh advfirewall firewall add rule name="1C Server" dir=in action=allow protocol=TCP localport=1540-1541,1560-1591
Ubuntu с ufw:
sudo ufw allow from 192.168.1.0/24 to any port 1540:1541 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 1560:1591 proto tcp
Подсеть подставьте свою.
Администраторы кластера
Свежий кластер управляется без пароля: любой, кто дотянулся консолью до порта 1540, может завершать сеансы, менять настройки кластера и рабочих процессов. Закройте это сразу:
- Создайте администратора центрального сервера (в консоли: узел «Администраторы» у центрального сервера).
- Создайте администратора кластера (узел «Администраторы» внутри кластера).
- Пароли храните в менеджере паролей, а не на стикере.
Потеряли пароль администратора кластера — не пересоздавайте кластер. Остановите службу агента в нерабочее время (сеансы пользователей оборвутся), восстановите файлы реестра кластера из резервной копии каталога данных и запустите службу.
Для внешних обработок и расширений можно включить профили безопасности кластера. Они ограничивают доступ кода к файловой системе и сети.
Диагностика и контроль производительности
Сервер поставлен — дальше важно видеть, что с ним происходит.
Сеансы и лицензии
В консоли на узле «Сеансы» видно, кто работает, сколько памяти и времени вызова тратит сеанс. Через командную строку:
rac cluster list
rac session list --cluster=<id_кластера> --licenses
Второй командой удобно разбирать ситуацию «лицензий не хватает»: видно, кому какая лицензия выдана.
Технологический журнал
Технологический журнал включается файлом logcfg.xml в каталоге conf платформы: в Windows — C:\Program Files\1cv8\conf\, в Linux — /opt/1cv8/conf/. Минимальная полезная настройка — запись исключений и долгих вызовов:
<config xmlns="http://v8.1c.ru/v8/tech-log">
<log location="D:\1c_techlog" history="24">
<event>
<eq property="name" value="EXCP"/>
</event>
<event>
<eq property="name" value="CALL"/>
<gt property="duration" value="30000000"/>
</event>
<property name="all"/>
</log>
</config>
Журнал без фильтров за сутки забивает диск. Задавайте history в часах и ставьте каталог на отдельный том.
Что смотреть на сервере
- 🧠 Память рабочих процессов
rphost. Постоянный рост без падения — повод настроить перезапуск процессов. - 💽 Очередь диска на томе СУБД. Высокая очередь при низкой загрузке CPU — упираетесь в диск.
- 🔒 Ожидания на блокировках. В технологическом журнале — события
TLOCKиTTIMEOUT. - 📊 Счётчики потребления ресурсов в консоли кластера показывают, какие сеансы грузят процессор и СУБД.