Установка сервера 8.2. Параллельный запуск нескольких серверов «1С:Предприятия» разных версий на одном компьютере

05.04.2024

Сервер 1С 8.2 и 8.3 на одном компьютере (Windows)

Сервер 1С 8.2 и 8.3 на одном компьютере (Windows)

Сентябрь 24, 2015

Допустим у вас есть функционирующий сервер 1с 8.3 и вам дополнительно надо поднять 8.2. Однако после установки 8.2 и её запуска это привело к проблемам с версией 8.3.
Самый простой способ запуска - прописать необходимые значения в реестр операционной системы.
Остановим сервер 1с 8.2.
Теперь откроем «Пуск - Выполнить» введите команду regedit. Откроется реестр системы. Найдите в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8 Server Agent , параметр ImagePath.В данном ключе реестра прописаны порты для 1с. Поменяем их, например на:
C:\Program Files\1cv82\8.2.хх.хх\bin\ragent.exe» -srvc -agent -regport 2041 -port 2040 -range 2060:2091 -d «C:\Program Files\1cv82\srvinfo

regport — по нему идет подключение клиентов.
port — порт управления сервером (панель администрирования, postgresql).
range — порты для подключения ПК.
Не забываем брандмауэре открыть порты!

Перезапускаем сервера 1с 8.3 и 8.2.
Теперь в панели администрирования сервера созданим центральный сервер.

Создайте центральный сервер.
Для центрального сервера должны быть установлен порт port.
Для кластера серверов необходимо установить значение порта regport.
Для рабочих процессов задается диапазон портов range

Для подключения к серверу 1с 8.2 теперь необходимо указывать в поле «Имя сервера» nameserver:

Так же возможно, что вы захотите переименовать кластер, что может привести к ошибке «Ошибка сетевого доступа к серверу»,

После выхода платформы 8.2.11 появилась задача установить на один физический сервер несколько серверов приложений 1С 8.2 - 8.2.10 и 8.2.11. Информацию как это сделать в документации по 1С я не нашел, более того, говорилось о том, что второй сервер возможно запускать только в ручном режиме.

Решить этот вопрос помогла сторонняя утилита создания сервисов Windows (Скачивать файлы может только зарегистрированный пользователь! ).

Для начала необходимо распаковать архив в какую-нибудь папку, зайти в нее командной строкой и запустить команду создания сервиса, например:
"INSTSRV "Агент сервера 8.2.11" "C:\Program Files\1cv82\8.2.11.229\bin\ragent.exe" ", Где Агент сервера 8.2.11 - придуманное имя сервиса. Если всё сделано правильно, то появится сообщение, подтверждающее успешное создание сервиса:

Теперь зайдите в Администрирование - Службы (Services) . Находите только что созданную службу, двойной клик вызывает свойства сервиса. На первой вкладке можно выбрать параметры запуска - Automatic (автоматически при загрузке компьютера), Manual (Вручную) и Disabled (отключено). Для работы созданного сервиса в отдельном окне необходимо отметить на второй вкладке (Вход в систему) пункт Allow Service to Interact with Desktop (Разрешить взаимодействие с рабочим столом) + указать параметры входа в систему.

Следующим шагом является редактирование реестра. Запускаем редактор реестра Regedit. Ищем строку "C:\Program Files\1cv82\8.2.11.229\bin\ragent.ex e" и меняем ее на правильную команду запуска с параметрами, например: ""C:\Program Files\1cv82\8.2.11.229\bin\ragent.exe" /Debug -srvc -agent -regport 11641 -port 11640 -range 11660:11691 -d "C:\Program Files\1cv82\srvinfo2" "

Запустить сервис, если он не отключен, можно несколькими способами, во-первых через командную строку: Net Start ServiceName - где SеrviceName - имя Вашего сервиса. И другим способом - непосредственно через апплет административной панели - службы.

Чтобы удалить сервис, его сначала необходимо остановить: net stop ServiceName , затем опять же в коммандной строке выполнить команду INSTSRV ServiceName remove.

P.S. - информация для "особо умных" скептиков:
На http://users.v8.1c.ru/Adm3413.aspx цитата:
Установка нового экземпляра сервера 1С:Предприятия 8.1/8.2 при работающем сервере 1С:Предприятия той же версии
В 1С:Предприятии отсутствуют штатные возможности по регистрации нескольких экземпляров сервера 1С:Предприятия одной версии (8.1 или 8.2).

Если после установки предполагается запуск нового экземпляра сервера, а не простое обновление версии 1С:Предприятия, то при установке 1С:Предприятия с теми же первыми двумя цифрами номера версии не следует регистрировать сервер 1С:Предприятия как сервис.

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

Предыстория… В нашей компании успешно работает 1С:Предприятие версии 8.2, в которой заведено порядка 100 интенсивно используемых бухгалтерских баз. Под это дело выделен отдельный сервер с довольно внушительными характеристиками, т.к. в процессе эксплуатации выяснилось, что связка 1С:Предприятие 8.2 + MS SQL 2005 очень требовательны к таким ресурсам “железа”, как жесткие диски, процессор, а самое главное – количество оперативной памяти. Стоимость подобного сервера для нас превысило 250 тысяч рублей (не считая лицензий как на ОС, так и на саму 1С).

Выделять отдельно “железо” под 1С:Предприятие версии 8.3 посчитали делом неразумным, к тому же платить еще порядка 100 тысяч рублей за второй комплект ключей для сервера 1С, ну очень накладно! Попытка установить “в лоб” 1С:Предприятие версии 8.3 привело к тому, что был потерян кластер с уже существующими базами. Вот тут-то и вскрылись особенности установки и запуска двух серверных версий 1С:Предприятия на одном компьютере.

Программа установки 1С:Предприятия 8.2 и 8.3 настраивает программное обеспечение на использование своих стандартных портов: 1540 (используемый агентом сервера), 1541 (используемый менеджером кластера), 1560-1591 (диапазон портов, используемый для рабочих процессов). Поэтому, если сервер 1С:Предприятие 8.3 должен работать одновременно с сервером 1С:Предприятия 8.2, то первому необходимо указать порты отличные от тех, что уже использует работающий экземпляр сервера предыдущей версии.

На компьютере с уже установленным сервером 1С:Предприятия версии 8.2 зарегистрирован и запущен сервис “Агент сервера 1С:Предприятия 8.2”, уже использующий указанные выше стандартные порты. Если вы установили “рядом” сервер 1С:Предприятие 8.3, то запуск его сервиса “Агент сервера 1С:Предприятия 8.3” завершится аварийно, т.к. он попытается использовать уже “занятые” порты. Чтобы избежать этого, необходимо выполнить следующее.

(Все описанное ниже справедливо для Windows Server 2008 R2 Enterprise (и Standart) 64 bit + SP1 и 32-х разрядных серверных версий 1С:Предприятие 8.2 и 8.3).

1С:Предприятие 8.2 (версия 8.2.19.90) мной устанавливались как сервис Windows с правами для запуска от имени существующего локального пользователя “Администратор”.

По окончании установки в окне Диспетчер сервера -> Конфигурация -> Службы мы видим запущенную службу “Агент сервера 1С:Предприятия 8.2”:

запущенную с параметрами:

C:\Program Files (x86)\1cv82\8.2.19.90\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files (x86)\1cv82\srvinfo"

Сервер 1С:Предприятия 8.3 (версия 8.3.4.437) мной устанавливался аналогичным образом:

Однако, как мы видим в окне Диспетчер сервера -> Конфигурация -> Службы , служба “Агент сервера 1С:Предприятия 8.3” не стартовала:

Теперь нам надо открыть окно командной строки cmd и перейти в каталог bin установленной серверной версии 1С:Предприятия 8.3 и попытаться удалить регистрацию сервиса “Агент сервера 1С:Предприятия 8.3” командой ragent.exe -rmsrvc:

C:\Users\администратор>cd C:\Program Files (x86)\1cv8\8.3.4.437\bin C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -rmsrvc Error! ControlService error!

У меня выскочила ошибка Error! ControlService error! , что в принципе ожидаемо, т.к. сервис должным образом не зарегистрировался в системе. Но на самом деле, он должен удалиться. В окне Диспетчер сервера -> Конфигурация -> Службы вы его больше не увидите.

Теперь вам надо произвести повторную регистрацию данного сервера, но при этом указать порты отличные от тех, которые уже использует агент 1С:Предприятия 8.2. В моем случае команда будет иметь вид:

C:\Program Files (x86)\1cv8\8.3.4.437\bin>

  • -port 2540 — порт, на котором будет работать агент сервера 1С:Предприятие версии 8.3;
  • -regport 2541 — порт, через который будет осуществляться администрирование кластера сервера 1С:Предприятие версии 8.3;
  • -range 2560:2591 — диапазон портов для рабочих процессов;
  • -в “C:\Program Files (x86)\1cv8\srvinfo” — каталог для хранения информации о новом создаваемом кластере сервера 1С:Предприятие версии 8.3;
  • -usr .\Администратор — пользователь, от имени которого будет осуществлен запуск агента сервера 1С:Предприятие версии 8.3;
  • -pwd ******** — пароль для указанного пользователя (введите свой).

После этого вы вновь увидите сервис “Агент сервера 1С:Предприятия 8.3” в окне Диспетчер сервера -> Конфигурация -> Службы . Вам осталось только запустить его командой ragent.exe -start:

C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -start

В окне Диспетчер сервера -> Конфигурация -> Службы мы видим службу “Агент сервера 1С:Предприятия 8.3”:

запущенную с параметрами:

где поле “Исполняемый файл” имеет настройку:

C:\Program Files (x86)\1cv8\8.3.4.437\bin\ragent.exe" -srvc -agent -regport 2541 -port 2540 -range 2560:2591 -d "C:\Program Files (x86)\1cv8\srvinfo"

А теперь самое интересное: вам придется проделывать данную операцию каждый раз, когда возникнет необходимость обновить версию сервера 1С:Предприятия 8.3! “Браво”, разработчики…

Теперь немного о том, каким образом жить с указанной связкой. Необходимости запускать саму программу 1С:Предприятия старой версией (из папки C:\Program Files (x86)\1cv82\common) больше нет. При установке 1С:Предприятия версии 8.3 ярлык на рабочем столе автоматически перезапишется на запуск программы из папки C:\Program Files (x86)\1cv8\common . Если вы будете открывать бухгалтерскую базу, работающую на сервере версии 8.2, она автоматически откроется в нужной версии тонкого клиента.

Шаблоны для создания баз (бухгалтерских или ЗИК ) помещаются по умолчанию в каталог пользователя, от имени которого вы запустили их установку. Если вы делаете это от имени администратора, то найдете их по пути C:\Users\администратор\AppData\Roaming\1C\1cv8\tmplts . Если вы захотите добавить новую базу на основе установленного шаблона, тонкий клиент версии 8.3 увидит их все:

Теперь, если вам необходимо прописать базу версии 8.3, то вам необходимо будет указывать в поле “Кластер серверов 1С:Предприятия” компьютер, с установленным сервером 1С версии 8.3 и через двоеточие порт менеджера кластера, который вы указали при регистрации агента сервера 1С версии 8.3. В моем случае – это 2541:

При добавлении в список бухгалтерских баз новой, находящейся на сервере предприятия под управлением 1С:Предприятие версии 8.3 также необходимо указывать имя сервера, а через двоеточие – порт, используемый менеджером кластера:

Необходимость производить регистрацию утилиты для администрирование кластера обоих сервером 1С (как версии 8.2, так и 8.3) после каждой установки/обновления сохраняется.

Теперь перейдем к администрированию кластеров под управлением различных версий серверов 1С:Предприятие на одном компьютере. Откройте в проводнике папку по пути C:\Program Files (x86)\1cv8\common , и создайте на рабочем столе ярлык для консоли администрирование кластера версии 8.3 (ярлык лучше сразу переименовать соответствующим образом, например 1CV8.3 ):

Таким же образом, откройте в проводнике папку по пути C:\Program Files (x86)\1cv82\common , и создайте на рабочем столе ярлык для консоли администрирование кластера версии 8.2 (ярлык лучше сразу переименовать, например в 1CV8.2 ):

На рабочем столе вы получите следующее:

Запустим утилиту администрирование кластера сервера 1С:Предприятие версии 8.2 ярлыком “1CV8.2” (т.к. сервер использует порты по умолчанию, то кластер отобразится без проблем):

При попытке открыть данный кластер из консоли, предназначенной для администрирование кластера сервера 1С:Предприятие версии 8.3 (по ярлыку с рабочего стола с именем “1CV8.3”) вы увидите ошибку:

Ошибка соединения с сервером 1С:Предприятия 8.3: Различаются версии клиента и сервера (8.3.4.437 - 8.2.19.90), клиентское приложение: Консоль кластера

Для отображения нужного нам кластера сервера 1С:Предприятие версии 8.3 необходимо в данной оснастке создать новый центральный сервер 1С:Предприятия 8.3:

  • в поле Имя необходимо указать имя компьютера с установленным сервером 1С:Предприятие 8.3;
  • в поле IP порт необходимо указать порт, на котором работает агент сервера 1С:Предприятия 8.3, который вы обозначали при настройке службы запуска агента;
  • в поле Описание обозначить описание.

После нажатия кнопки “ОК” вы сможете увидеть ваш новый кластер, который получился после установки сервера 1С:Предприятие версии 8.3.

Т.е. администрирование кластеров различных версий сервера 1С:Предприятия, установленных на одном компьютере, осуществляется соответствующими оснастками.

Вот, в принципе, и все. Удачи!

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

C:\Program Files (x86)\1cv8\8.3.4.437\bin>ragent.exe -instsrvc -port 2540 -regport 2541 -range 2560:2591 -d "C:\Program Files (x86)\1cv8\srvinfo" -usr .\Администратор -pwd ********

заканчивается тем, что удаляется уже работающая служба старой версии 1С 8.3, а новая не создается.

В я описал способ установки, создания соответствующих и запуска на одном сервере нескольких версий сервера 1С:Предприятия 8.3…

Устанавливаем сервер 1С 8.3 для совместной работы с 8.2, а если нужно, то и с 8.1.
Либо просто запускаем неограниченной количество серверов 1С под разные задачи.

Если сервер еще не установлен, то:

1. Скачиваем дистрибутив сервера. Обычно он называется так: "Cервер 1С:Предприятия (64-bit) для Windows"
либо "Технологическая платформа 1С:Предприятия для Windows"

Если при попытке запустить службу установщик ругнётся, жмём "Пропустить".

Настройка реестра:

1. Заходим в реестр программой regedit и идём по пути:

"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent "

Конечный путь может отличаться, в зависимости от установленной версии, например:

1C:Enterprise 8.3 Server Agent (x86-64)
1C:Enterprise 8.3 Server Agent
1C:Enterprise 8.2 Server Agent
и.т.п.

2. Если создается второй сервер, той же версии, либо той же редакции что и уже работающий, то:

Создаем полную копию каталога, и переименовываем ее, например в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent Debug

3. Находим ключ с названием "ImagePath ", правим в нём все порты и диапазоны портов с 15хх на другие, например 16хх, 17хх, 18хх, и т.д.

Должен получиться результат:
"C:\Program Files\1cv8\8.3.6.2299\bin\ragent.exe" -srvc -agent -regport 1741 -port 1740 -range 1760:1791 -d "C:\Program Files\1cv8\srvinfo"

4. Если запускаем сервер для отладки либо другую версию той же редакции, добавляем в конце ключ -debug
"C:\Program Files\1cv8\8.3.7.1751\bin\ragent.exe" -srvc -agent -regport 1741 -port 1740 -range 1760:1791 -d "C:\Program Files\1cv8\srvinfo" -debug

При этом так же необходимо сменить рабочий каталог сервера с "C:\Program Files\1cv8\srvinfo" на "C:\Program Files\1cv8\srvinfo_debug",
предварительно создав каталог на диске.

5. Чтобы служба появилась с списке служб, необходимо перезагрузить сервер, либо выполнить следующую команду:
sc create "1C:Enterprise 8.3 Server Agent Debug" binPath="C:\Program Files (x86)\1cv8\8.3.5.1482\bin\ragent.exe"
где
1C:Enterprise 8.3 Server Agent Debug - имя созданного нами каталога в реестре (оно же имя службы)
"C:\Program Files (x86)\1cv8\8.3.5.1482\bin\ragent.exe" - пусть к запускаемой службе (с него начинается ключ "ImagePath ")

6. Заходим в службы и запускаем службу "1C:Enterprise 8.3 Server Agent Debug" .
Имя службы задается в реестре, ключом DisplayName

7. При обновлении платформы, версия будет изменяться только у основного сервера, папка 1C:Enterprise 8.3 Server Agent
В добавленных службах версию платформы придется менять вручную.

8. Операцию можно повторить неограниченное число раз, в зависимости от того, сколько и каких серверов нужно.
Например, три разных 8.1, два 8.2, два 8.3.

8. Консоль кластера при установке клиентской части платформы имеет разный путь для разных версий, если устанавливаем "по умолчанию", то такой:

8.2 - "C:\Program Files\1cv82\common\1CV8 Servers.msc"
8.3 - "C:\Program Files\1cv8\common\1CV8 Servers.msc"

В текущей статье рассмотрим процесс запуска и настройки параллельной работы нескольких серверов «1С:Предприятия» различных версий (актуально для версий 8.1 , 8.2 и 8.3 ) на одном компьютере. В данном примере будет запущен сервер «1С:Предприятия» 8.3 при работающем сервере версии 8.2, но статья будет актуальна и для других подобных ситуаций, например при запуске сервера «1С:Предприятия» версии 8.1 при работающем сервере версии 8.3 или запуске двух серверов различной разрядности.

1. Постановка задачи

Предположим имеется работающий сервер «1С:Предприятия» версии 8.2 . Причем агент сервера запущен как служба и выбраны стандартные параметры запуска агента сервера, т. е:

  • 1540
  • 1541
  • 1560:1591
  • Данные кластеры расположены в каталоге: «C:\Program Files\1cv82\srvinfo»
  • Служба запускается от локального пользователя USR1CV8

Запустим и настроем для работы на этом же физическом компьютере сервер «1С:Предприятия» версии 8.3 .

2. Установка серверной части «1С:Предприятия» версии 8.3

Запускаем установку сервера «1С:Предприятия» (подробно про установку сервера «1С:Предприятия» я писал ), выбираем для установки компоненты:

  • Компоненты доступа к серверам 1С:Предприятия 8
  • Сервер 1С:Предприятия 8

А заодно запомним каталог установки файлов «1С:Предприятия» (в данном случае — «C:\Program Files\1cv8\8.3.4.389 »).

Сервер «1С:Предприятия» устанавливаем не как службу, а как приложение, т. е. снимаем флаг «Установить сервер 1С:Предприятия 8 как сервис Windows » во время установки.

3. Регистрация сервера «1С:Предприятия» версии 8.3

Теперь вручную зарегистрируем новый сервер «1С:Предприятия» как службу Windows, с измененными параметрами. Для этого воспользуемся командной строкой или программой Windows PowerShell . Запустить PowerShell можно выполнив команду powershell (для этого необходимо нажать комбинацию клавиш Win + R, в появившемся окне «Выполнить » (Run) ввести имя команды в поле «Открыть » (Open) и нажать «ОК ») или кликнув по соответствующему ярлыку в панели задач.

В открывшейся консоли Windows PowerShell, для удобства ввода дальнейших команд перейдем в каталог bin каталога с установленными файлами «1С:Предприятия» (каталог из пункта 1), выполнив команду

Cd "C:\Program Files\1cv8\8.3.4.389\bin"

Если сервер «1С:Предприятия» версии 8.3 все же был установлен ранее как служба, необходимо удалить существующую регистрацию сервера. Для этого необходимо выполнить команду

.\ragent.exe -rmsrvc

А также необходимо удалить все файлы каталога реестра кластера, прошлой установки сервера «1С:Предприятия». По умолчанию это директория C:\Program Files\1cv8\srvinfo .

Теперь можно переходить к регистрации новой службы агента сервера «1С:Предприятия». Т. к. порты, используемые по умолчанию (1540 , 1541 , 1560-1690 ) уже заняты службой сервера «1С:Предприятия» версии 8.2, необходимо использовать альтернативные порты, например 2540 , 2541 и диапазон 2560-2591 . Для регистрации сервера с данными параметрами выполним команду

.\ragent.exe -instsrvc -port 2540 -regport 2541 -range 2560:2591 -usr .\USR1CV8 -pwd UsrPass8 -d "C:\Program Files\1cv8\srvinfo"

(подробно про параметры запуска агента сервера «1С:Предприятия» можно прочитать в статье )

В данном примере выполняется регистрация сервера со следующими значениями параметров:

  • Номер сетевого порта агента сервера — 2540
  • Номер сетевого порта менеджера кластера — 2541
  • Диапазон портов для динамического выбора — 2560:2591
  • Служба запускается от имени локального пользователя — USR1CV8
  • Пароль пользователя от имени которого запускается служба — UsrPass8
  • Данные реестра кластера расположены в каталоге «C:\Program Files\1cv8\srvinfo»
  • Если необходимо включить отладку на сервере необходимо к строке запуска добавить параметр —debug

Ну и сразу произведем запуск службы, выполнив команду

.\ragent.exe -start

Перейдем в службы Windows и увидим, что в списке появилась требуемая служба с именем 1C:Enterprise 8.3 Server Agent (x86-64) . Служба запущена, и при запуске службы используются введенные только что параметры.

А если перейти в каталог с файлами реестра кластера, мы увидим что там появились соответствующие файлы.

5. Добавление сервера «1С:Предприятия» версии 8.3 в консоль администрирования серверов

Для администрирования сервера «1С:Предприятия» используется консоль администрирования серверов «1С:Предприятия». Открыть консоль администрирования необходимой версии можно из подкаталога common каталога с установленными файлами программы «1С:Предприятия» (не обязательно данного компьютера — консоль можно установить отдельно на любой компьютер в сети), запустив оснастку 1CV8 Server (x86-64).msc .

В консоли администрирования серверов «1С:Предприятия», кликнув правой кнопкой мыши в дереве настроек на вкладке «Central 1C:Enterprise 8.3 servers », выберем в контекстном меню пункт «Создать » — «Центральный сервер 1С:Предприятия 8.3 ».

В появившемся окне параметров центрального сервера «1С:Предприятия» укажем:

  • Протокол — tcp
  • Имя — имя компьютера, на котором запущен сервер «1С:Предприятия»
  • IP порт — номер сетевого порта агента сервера, в данном случае 2540
  • Описание — произвольное описание центрального сервера «1С:Предприятия»

Нажимаем «ОК » для сохранения введенных параметров.

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

Помогла ли Вам данная статья?

© omutsu.ru, 2024
Компьютерные подсказки - Оmutsu