К статье
Практический материал

Администрирование · 10 мин

Как установить сервер 1С на другой порт

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

Смена порта сервера 1С:Предприятие требуется в нескольких типовых ситуациях: на одном компьютере разворачивают несколько кластеров разных версий платформы, стандартные порты заняты другим приложением, либо политика безопасности запрещает использовать значения по умолчанию. Задача решается штатными средствами — через реестр службы агента сервера и консоль администрирования кластера.

Важно понимать, что у сервера 1С не один порт, а три группы: порт агента кластера (по умолчанию 1540), порты рабочих процессов (диапазон 1560–1591) и порт менеджера кластера (по умолчанию 1541). Менять их нужно согласованно, иначе клиенты потеряют связь с базами, а консоль администрирования перестанет видеть кластер.

Ниже разобран полный порядок действий: от остановки службы до проверки подключения тонким клиентом. Инструкция ориентирована на Windows-установку сервера 1С:Предприятие 8.3, в конце приведены отличия для Linux.

Какие порты использует сервер 1С и что именно вы меняете

Прежде чем что-либо менять, определите, какой именно порт мешает. Агент сервера (процесс ragent) по умолчанию слушает порт 1540 — через него консоль администрирования и клиенты находят кластер. Менеджер кластера (rmngr) использует порт 1541, а рабочие процессы (rphost) занимают диапазон 1560–1591. Если платформа установлена с нестандартными параметрами, значения могут отличаться.

Наиболее частая причина конфликта — два агента сервера разных версий платформы на одном компьютере. Второй экземпляр при установке обычно получает порты 2540/2541/2560–2591, но если служба регистрировалась вручную, порты могут совпасть, и один из кластеров не стартует. Проверить, кто занял порт, помогает команда netstat.

cmd
netstat -ano | findstr :1540
tasklist | findstr ragent

Первая команда покажет PID процесса, слушающего порт, вторая — список запущенных агентов сервера. Если порт занят посторонним приложением, проще перевести 1С на свободный порт, чем перенастраивать чужое ПО.

Подготовка: что сделать до смены порта

Смена порта требует перезапуска службы агента, а значит — все активные сеансы пользователей будут разорваны. Запланируйте работу на нерабочее время, предупредите пользователей и завершите сеансы штатно через консоль администрирования. Фоновые задания, выполняемые в момент перезапуска, могут завершиться с ошибкой.

Сделайте резервную копию каталога реестра кластера (по умолчанию C:\Program Files\1cv8\srvinfo или каталог, указанный в параметре -d службы). Там хранятся списки баз, настройки кластера и регистрационные данные — при повреждении этого каталога кластер придётся пересоздавать и заново прописывать информационные базы.

Изменение порта агента сервера через реестр службы

Порт агента задаётся параметром командной строки службы, а не в консоли. Откройте редактор реестра и найдите ветку HKLM\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (точное имя зависит от версии и разрядности платформы). В параметре ImagePath находится строка запуска вида:

text
"C:\Program Files\1cv8\8.3.22.1750\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

Здесь -port 1540 — порт агента, -regport 1541 — порт менеджера кластера, -range 1560:1591 — диапазон портов рабочих процессов. Измените значения на свободные, например 3540, 3541 и диапазон 3560:3591, сохранив структуру строки и кавычки. Ошибка в синтаксисе приведёт к тому, что служба не запустится.

Порядок действий
  1. 1
    Остановите службу «Агент сервера 1С:Предприятия» через services.msc или командой net stop
  2. 2
    Откройте реестр и найдите ветку службы в HKLM\SYSTEM\CurrentControlSet\Services
  3. 3
    Отредактируйте ImagePath: задайте новые значения -port, -regport и -range
  4. 4
    Запустите службу и убедитесь, что она перешла в состояние «Работает»
  5. 5
    Проверьте командой netstat -ano, что агент слушает новый порт

Альтернатива правке реестра — перерегистрация службы утилитой ragent с ключами -uninstsrvc и -instsrvc с новыми параметрами. Этот способ аккуратнее, если вы не уверены в редактировании реестра: утилита сама сформирует корректную строку запуска.

Настройка порта кластера в консоли администрирования

После смены порта агента консоль администрирования подключается к серверу уже по новому порту: в адресе центрального сервера укажите ИмяСервера:3540. Старый кластер в консоли отображаться не будет — зарегистрируйте новый кластер с указанием порта менеджера (в нашем примере 3541).

Если нужно изменить только порт кластера без перенастройки службы, это делается в свойствах кластера в консоли: правый клик по кластеру → «Свойства» → поле «Порт кластера». Изменение применяется после перезапуска службы агента. Учтите, что порт кластера должен соответствовать параметру -regport в строке запуска службы, иначе менеджер кластера и агент «разминутся».

Открытие портов в брандмауэре и сетевые проверки

Windows Firewall и корпоративные сетевые экраны по умолчанию не знают о ваших новых портах. Создайте входящие правила для TCP-портов агента, менеджера и всего диапазона рабочих процессов — иначе клиенты будут получать ошибку соединения, хотя служба работает.

powershell
New-NetFirewallRule -DisplayName "1C Agent 3540" -Direction Inbound -Protocol TCP -LocalPort 3540 -Action Allow
New-NetFirewallRule -DisplayName "1C Ranges" -Direction Inbound -Protocol TCP -LocalPort 3541,3560-3591 -Action Allow

Проверьте доступность порта с клиентской машины: Test-NetConnection ИмяСервера -Port 3540 в PowerShell. Если TcpTestSucceeded возвращает False — проблема в брандмауэре, сетевом фильтре или в том, что служба не запустилась. Проверяйте в этом порядке: служба на сервере → локальный брандмауэр → промежуточное сетевое оборудование.

Проверка подключения клиентов и обновление настроек

После перенастройки обновите список информационных баз у пользователей. Если базы подключаются через файл списка (.v8i) или общий список на веб-сервере, достаточно поправить адрес сервера в одном месте. При ручной настройке у каждого пользователя в диалоге добавления базы укажите сервер с новым портом в формате ИмяСервера:3541 (для клиент-серверного подключения используется порт менеджера кластера).

Не забудьте про смежные компоненты: публикации на IIS/Apache (в default.vrd может быть указан порт), внешние системы, подключающиеся через COM-соединение или web-сервисы, хранилище конфигурации, если оно серверное. Каждое из этих звеньев нужно проверить отдельно.

Контрольные точки

Как проверить результат

Служба агента
Норма

Состояние «Работает», netstat показывает прослушивание нового порта

Тревожный признак

Служба останавливается сразу после запуска — ошибка в строке ImagePath

Консоль администрирования
Норма

Кластер виден по адресу Сервер:НовыйПорт, базы отображаются

Тревожный признак

Кластер не найден — неверный порт или не запущен менеджер

Клиентское подключение
Норма

Тонкий клиент открывает базу по строке Сервер:ПортМенеджера

Тревожный признак

Ошибка соединения — проверяйте брандмауэр и порт в строке подключения

Особенности для Linux и типичные ошибки

На Linux порт агента задаётся в unit-файле systemd или скрипте запуска srv1cv8 — параметры -port, -regport и -range те же. После правки выполните systemctl daemon-reload и перезапустите службу. Правила фаервола добавляются через firewalld или iptables в зависимости от дистрибутива.

Типичные ошибки
01
Поменяли только -port, но не -regport и -range — рабочие процессы конфликтуют со вторым кластером
02
Забыли открыть диапазон портов rphost в брандмауэре — консоль подключается, а клиенты нет
03
Указали в строке подключения клиента порт агента вместо порта менеджера кластера
04
Отредактировали ImagePath с ошибкой в кавычках — служба не стартует, а причина неочевидна
05
Не обновили публикации на веб-сервере — браузерные клиенты перестали работать
Итог

Что важно запомнить

Порты сервера 1С задаются в строке запуска службы агента (параметры -port, -regport, -range) и в свойствах кластера. Меняйте все три группы согласованно, делайте копию srvinfo, перезапускайте службу, открывайте новые порты в брандмауэре и обновляйте строки подключения клиентов с указанием порта менеджера кластера.

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

Можно ли запустить два сервера 1С разных версий на одном компьютере?

Да, это штатный сценарий. Каждой версии назначают свой набор портов (например, 1540/1541/1560–1591 и 2540/2541/2560–2591) и отдельные каталоги srvinfo. Каждый агент регистрируется как отдельная служба со своим именем.

Какой порт указывать в строке подключения тонкого клиента?

Порт менеджера кластера (параметр -regport, по умолчанию 1541), а не порт агента. Формат: Сервер:1541. Если порт не указан, клиент пытается использовать стандартный.

Служба не запускается после правки реестра — что делать?

Проверьте строку ImagePath: целостность кавычек, пробелы между параметрами, корректность пути к ragent.exe. Посмотрите журнал событий Windows (раздел «Система») — там будет код ошибки службы. При сомнениях верните исходную строку из резервной копии ветки реестра.

Нужно ли менять порты на сервере СУБД (MS SQL, PostgreSQL)?

Нет. Порты сервера 1С и порты СУБД не связаны. Сервер 1С подключается к СУБД как клиент по её собственному порту, и смена портов кластера на это подключение не влияет.

Как узнать, какие порты сейчас использует сервер 1С?

Выполните на сервере netstat -ano | findstr ragent не сработает — сначала найдите PID процессов ragent, rmngr и rphost в диспетчере задач, затем сопоставьте их с выводом netstat -ano. Либо посмотрите параметры -port, -regport и -range в строке запуска службы в реестре.

Потеряются ли базы при смене порта?

Нет. Регистрация баз хранится в каталоге srvinfo и к порту не привязана. Базы «пропадают» только в консоли, если вы подключаетесь к старому порту, — подключитесь по новому, и список появится. Реальный риск потери возникает только при удалении каталога srvinfo.