Администрирование · 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.
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 находится строка запуска вида:
"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С:Предприятия» через services.msc или командой net stop
- 2Откройте реестр и найдите ветку службы в HKLM\SYSTEM\CurrentControlSet\Services
- 3Отредактируйте ImagePath: задайте новые значения -port, -regport и -range
- 4Запустите службу и убедитесь, что она перешла в состояние «Работает»
- 5Проверьте командой netstat -ano, что агент слушает новый порт
Альтернатива правке реестра — перерегистрация службы утилитой ragent с ключами -uninstsrvc и -instsrvc с новыми параметрами. Этот способ аккуратнее, если вы не уверены в редактировании реестра: утилита сама сформирует корректную строку запуска.
Настройка порта кластера в консоли администрирования
После смены порта агента консоль администрирования подключается к серверу уже по новому порту: в адресе центрального сервера укажите ИмяСервера:3540. Старый кластер в консоли отображаться не будет — зарегистрируйте новый кластер с указанием порта менеджера (в нашем примере 3541).
Если нужно изменить только порт кластера без перенастройки службы, это делается в свойствах кластера в консоли: правый клик по кластеру → «Свойства» → поле «Порт кластера». Изменение применяется после перезапуска службы агента. Учтите, что порт кластера должен соответствовать параметру -regport в строке запуска службы, иначе менеджер кластера и агент «разминутся».
Открытие портов в брандмауэре и сетевые проверки
Windows Firewall и корпоративные сетевые экраны по умолчанию не знают о ваших новых портах. Создайте входящие правила для TCP-портов агента, менеджера и всего диапазона рабочих процессов — иначе клиенты будут получать ошибку соединения, хотя служба работает.
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 в зависимости от дистрибутива.
Что важно запомнить
Порты сервера 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.