Настройка двух платформ 1с на одном сервере
Вопросы по установке двух серверов 1С на одном компьютере возникают регулярно, несмотря на то, что яндекс с гуглом выдают достаточное количество ссылок на мануалы, как это сделать. Однако лично мне они помогли лишь частично, так как все необходимые знания пришлось «собирать по частям». Поэтому я решил написать свой собственный мануал, который, возможно, мне пригодится через год-другой, когда сам забуду, как это делать.
Есть два основных случая:
Вы хотите установить два сервера разных платформ, например 8.2.19.130 и 8.3.12.1412 (ключевым здесь будет отличие первых двух цифр – 8.2 и 8.3)
Вы хотите установить два сервера одной платформы или платформ, отличающихся минорными релизами, например два сервера платформы 8.3.11.3034 (один с отладкой, другой без, один 32, другой 64) или два сервера 8.3.11.3034 и 8.3.11412 (здесь ключевым будет совпадение первых двух цифр релиза – 8.3 и 8.3)
Случай 1:
Будем считать, что у вас уже имеется штатно установленный и работающий сервер 1С платформы 8.2. Трогать его мы не будем и сразу перейдем к установке сервера на платформе 8.3.
Для установки новой платформы можете взять дистрибутив под названием «Технологическая платформа 1С:Предприятия (64-bit) для Windows» (файл обычно называется windows64full.rar).
ВАЖНО! При установке новой версии платформы необходимо снять галку «Установить сервер 1С:Предприятие 8 как сервис Windows».
После установки платформы, необходимо запустить Command Prompt (Admin) – если у вас Win 10 или Win 2012 – правой кнопкой по кнопке Пуск – там выбрать Command Prompt (Admin). Дальше я буду исходить из того, что у вас есть определенные навыки работы через командную строку (если же нет, рекомендую прерваться и уделить пару часов изучению темы).
Для начала перейдем в папку Bin установленной платформы 8.3.11.3034:
И при помощи программы ragent.exe зарегистрируем еще один сервис для сервера 1С на платформе 8.3.11.3034:
.\ragent.exe -instsrvc -port 2540 -regport 2541 -range 2560:2591 -usr .\USR1CV8 -pwd PASSWORD -d "C:\Program Files\1cv8\srvinfo"
В данной строке мы даем команду создать службу, которая будет запускать агент сервера (RAGENT) на порту 2540, менеджер кластера (RMNGR) на 2541 и рабочие процессы (RPHOST) на портах с 2560 по 2591. Как вы заметили, порты отличаются от штатных первой цифрой (2 вместо 1). Напомню, что штатно используются порты 1540, 1541, 1560-1591. Также мы указываем локального пользователя .\ USR 1 CV 8 (точка и обратный слеш перед именем пользователя в данном случае обязательны), пароль пользователя PASSWORD и каталог C :\ Program Files \1 cv 8\ srvinfo , где будут храниться данные реестра кластера.
Запустить службу можно командной:
Или же просто открыть список служб и запустить вашу новую службу оттуда.
Чтобы только что установленный сервер 1С был доступен по сети, необходимо добавить используемые сервером порты (2540, 2541, 2560-2591) в исключения Брандмауэра Windows (Windows Firewall). Сделать это можно в настройках Брандмауэра или вот этой строкой:
netsh advfirewall firewall add rule name="1c_server_ports" protocol=TCP dir=in localport=2540,2541,2560-2591 action=allow
Далее вам необходимо будет открыть консоль, расположенную по адресу:
C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc
И создать еще один центральный сервер с указанным портом 2540. На картинке видны две консоли 8.2 (верхний) и 8.3 (нижний) и два сервера работающих на порту 1540 и 2540.
Создавать базы и подключаться к ним вы можете указывая имя сервера и номер порта, как на картинке.
Как вы видите, задача относительно простая. Однако цель моей статьи по большей части был второй случай, материалов по которому в гуглояндексах чуть меньше.
Случай 2:
В «1С:Предприятии» отсутствуют штатные средства регистрации нескольких экземпляров сервиса сервера «1С:Предприятия» одной версии. Для того чтобы выполнить такую регистрацию, следует воспользоваться утилитой sc . При выполнении такой регистрации, должны различаться имена служб, номера сетевых портов и адреса каталогов кластера.
А также приведен пример скрипта, который позволит установить службу, однако он в чистом виде работать отказывается (по крайней мере у меня). Вот чуть подправленная и рабочая версия этого скрипта, полученная методом проб и ошибок:
@echo off
rem %1 - version number
rem %2 - first 2 port characters. for 1540,1541,1560:1591 it will be 15
rem %3 - cluster reg catalog
rem register-service 8.3.11.3034 25 "C:\Program Files\1cv8\srvinfo2541"
set SrvUserName=.\USR1CV8
set SrvUserPwd=PASSWORD
set RangePort=%260:%291
set BasePort=%241
set CtrlPort=%240
set SrvcName="1C:Enterprise 8.3 Server Agent %CtrlPort% %1"
set BinPath="\"C:\Program Files\1cv8\%1\bin\ragent.exe\" -srvc -agent -regport %BasePort% -port %CtrlPort% -range %RangePort% -d \"%
3\" -debug"
set Desctiption="1C:Enterprise 8.3 Server Agent. Parameters: %1, %CtrlPort%, %BasePort%, %RangePort%"
if not exist "%
3"
sc stop %SrvcName%
sc delete %SrvcName%
sc create %SrvcName% binPath= %BinPath% start= auto obj= %SrvUserName% password= %SrvUserPwd% displayname= %Desctiption% depend= Tcpip/Dnscache/lanmanworkstation/lanmanserver/
Ключевые отличия – перед именем пользователя указывается точка и обратный слеш, в переменной BinPath вместо «/» перед параметрами указывается «-» и в параметре depend обязательно после lanmanserver должен быть «/». Ну и конечно не забудьте заменить PASSWORD на пароль вашего USR1CV8.
А теперь как с этим скриптом работать. Опять же, считаем что одна версия платформы штатно уже установлена и вы хотите установить еще один экземпляр сервера этого же релиза или этой же версии.
Для начала сохраните вашу отредактированную версию скрипта (назвав его register-service.bat) в папке с установленной новой платформой C :\ Program Files \1 cv 8\8.3.11.3034\ bin .
После этого откройте командную строку и перейдите в папку Bin установленной платформы 8.3.11.3034:
Теперь запустите ваш скрипт register-service.bat указав 3 обязательных параметра (пример этой команды в 4й строчке скрипта, который приведен выше):
register-service 8.3.11.3034 25 "C:\Program Files\1cv8\srvinfo2541"
Данный скрипт установит службу для платформы 8.3.11.3034 (первый параметр), пропишет штатные порты на 25** (второй параметр), укажет папку C:\Program Files\1cv8\srvinfo2541 (третий параметр) как каталог для данных реестра кластера (если папка отсутствует – она будет создана).
Тут важно понимать, что новому экземпляру сервера 1С нужна будет своя папка C:\Program Files\1cv8\srvinfo2541 (назвать ее можете как угодно), так как штатная папка C:\Program Files\1cv8\srvinfo уже будет занята первым экземпляром сервера.
Следующий важный нюанс, про который не говориться в статье на ИТС – необходимо дать права на папку C:\Program Files\1cv8\srvinfo2541 пользователю USR1CV8.
Готово. Можно открывать консоль служб Windows и запускать службу. Все дальнейшие действия не отличаются от случая 1.
НО. Есть еще нюанс. Если у вас второй экземпляр сервера другого релиза (например первый 8.3.10.2299, а второй 8.3.11.3034), то у вас возникнут определенные трудности связанные с запуском консоли сервера.
По умолчанию, вы всегда запускаете консоль C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc, которая в свою очередь работает с определенной версией файла radmin.dll. Т.е. консоль для работы с платформой 8.3.10.2299 должна работать с файлом C:\Program Files\1cv8\ 8.3.10.2299\bin\radmin.dll, а для работы с 8.3.11.3034 - C:\Program Files\1cv8\8.3.11.3034\bin\radmin.dll. Есть рекомендации, что перед запуском консоли для работы с определенной версией сервера – необходимо каждый раз регистрировать нужную версию radmin.dll при помощи regsvr32. Однако мне этот вариант не помог (и судя по вопросам на форумах не мне одному). И я нашел один рабочий способ.
В папке C:\Program Files\1cv8\common создаете два файла 8.3.10.2299.reg и 8.3.11.3034.reg с соответствующим содержим:
Также вы создаете два bat файла Console83102299.bat и Console83113034.bat с соответствующим содержимым:
regedit /s "C:\Program Files\1cv8\common\8.3.10.2299.reg"
mmc /s "C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc"
regedit /s "C:\Program Files\1cv8\common\8.3.11.3034.reg"
mmc /s "C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc"
И теперь для запуска консоли используете нужный вам bat файл Console831*****.bat.
В принципе, все. Ставьте лайки, подписывайтесь на канал, оставляйте комментарии (с).
Устанавливаем необходимые версии платформы с сервером 1С. На этом шаге важно отключить автоматическое создание службы сервера 1С!
Создаем службу сервера через утилиту - "Управление службами сервера 1С"* или обработку к примеру "Инструментами разработчика" настроить службу. На этом шаге важно указать раздельный каталог кластера для каждой службы и свой порт (ниже скриншот кликабельный). Необходимые службы стартуем.
Организовываем раздельный доступ к консоли администрирования сервера 1С. Для каждой версии платформы файлу "RegMSC.cmd" (чаще расположенному "C:\Program Files (x86)\1cv8\8.3.5.1231\bin\RegMSC.cmd") создаем ярлык на рабочий стол. Внутри каждого файла меняет текст, в моём случае так:
regsvr32 "C:\Program Files (x86)\1cv8\8.3.5.1231\bin\radmin.dll" /s
start mmc "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
4.1 Создаем новый центральный сервер
Новый сервер будет иметь такое же имя, но другой порт. Скриншот ниже.
4.2 Подключаем базу
При подключение базы важно указать порт и версию платформы. Скриншот ниже.
Ошибка соединения с сервером… Говорит о том, что вы кликнули не по тому серверу, который запустили, одновременно в консоли можно работать только с одной версией сервера платформы, для другой версии нужно запустить другой ранее вами созданный ярлык, предварительно закрыв данную консоль.
На этом всё, удачного кодинга!
PS : Научил меня Михаил… искал так же в гугле, но все статьи были без главного - простоты создание службы сервера 1С, по этому на оригинальной не претендую, претендую на легкоусвояемость!
Специальные предложения
Организовываем раздельный доступ к консоли администрирования сервера 1С. Для каждой версии платформы файлу "RegMSC.cmd" (чаще расположенному "C:\Program Files (x86)\1cv8\8.3.5.1231\bin\RegMSC.cmd") создаем ярлык на рабочий стол. Внутри каждого файла меняет текст, в моём случае так:
regsvr32 "C:\Program Files (x86)\1cv8\8.3.5.1231\bin\radmin.dll" /s
start mmc "C:\Program Files (x86)\1cv8\common\1CV8 Servers.msc"
Начиная с какой-то версии платформы 8.3 этот прием перестал работать.
А если запустить два 5-ти пользовательских 1С сервера и создать 2 базы на SQL. Смогу в сумме 10 пользователй подключить к 1С серверам? (11) вы хотите активировать на одном компе две мини-серверные лицензии? (11) данный продукт, обеспечивает запуск не более пяти сеансов пользователей в режиме "1С:Предприятие" и еще одного сеанса в режиме "Конфигуратор" (всего шесть подключений, каждое из которых требует наличия клиентской лицензии). При этом В КЛАСТЕРЕ СЕРВЕРОВ в может быть НЕ БОЛЕЕ ОДНОГО РАБОЧЕГО СЕРВЕРА. Поддерживается работа 64-разрядного сервера "1С:Предприятия 8".Может, я неправ. Хм, создать вроде не проблема, но настройки консоли разве не будут одинаковыми. Т.е. работают 2 сервера 1С, и оба цепляются к одной и той же базе SQL. С неизвестным результатом? Разве нет? А при использовании подключения через веб-сервер придется ставить второй аппач(если его используем) и прописывать LoadModule _1cws_module "C:/Program Files (x86)/1cv8/8.3.хх.хххх/bin/wsap22.dll"
В итоге не понял, чистенькая она или таки там троян.?)
Отличная шпаргалка! Видел несколько таких публикаций здесь, но кажется это лучше всего оформлена. Только ссылку на менеджер управления службами добавьте пожалуйста. На сайте alp получил 404, просто хотелось посмотреть. Остаётся вопрос - зачем в принципе несколько версий 1С? (22) Например для БГУ 1.0 нужна платформа не ниже 8.3.8.2197 и не выше 8.3.9 (если почитать ReadMe.txt из поставки), а для ЗКГУ не ниже 8.3.12.1440. (23) А БГУ 1.0 разве не запустится на 8.3.13 в режиме совместимости? (24) Удобно для проверки новой платформы. На тестовом сервере ставим в "фоне" чтобы проверить работу, посмотреть базы (можно конечно и отдельную виртуальную машину сделать). Если все хорошо - переводим всю команду разработки на новый релиз, через определенное время раскатываем на всю компанию клиенты, делаем бэкапы и обновляем платформу на сервере. Когда-то ставили на продакшен сервере 8.1 и 8.2 (не долго) параллельно, но это изврат.Просмотры 31898
Загрузки 0
Рейтинг 126
Создание 14.05.18 11:15
Обновление 12.09.18 12:24
№ Публикации 829994
Тип файла Нет файла
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
54-ФЗ: Онлайн-кассы для 1С 7.7 (с поддержкой маркировки ЕГАИС, ТАБАКА, ОБУВИ, ЛЕКАРСТВ и пр.)См. также
Подсистема "Инструменты разработчика" v6.14.2 Промо
Интегрированный набор инструментов разработчика: - консоль кода - консоль запросов - консоль построителя отчетов - консоль компоновки данных - консоль заданий - конструктор запроса - справочник алгоритмов - исследователь объектов - интерфейсная панель - настройка журнала регистрации - анализ журнала регистрации - настройка техножурнала - анализ техножурнала - подбор и обработка объектов - редактор объекта БД - редактор констант - редактор параметров сеанса - редактор изменений по плану обмена - редактор пользователей - редактор предопределенных - редактор хранилищ настроек - динамический список - поиск дублей и замена ссылок - контекстная подсказка - синтакс-помощник - поиск битых ссылок - поиск ссылок на объект - структура хранения БД - удаление объектов с контролем ссылок - и прочее
Предполагается, что на сервере уже имеется один установленный сервер «1С:Предприятие» и на нем работают пользователи. Вам необходимо на этом же сервере поднять еще один сервер «1С:Предприятие» другой версии.
Текущий сервер 1С имеет следующие параметры:
Версия сервера 1С: 8.3.16.1224
Порт центрального сервера 1С:Предприятия: 1540
Порт главного менеджера кластера: 1541
Планируемые параметры нового сервера 1С:
Версия сервера 1С: 8.3.12.1924
Порт центрального сервера 1С:Предприятия: 2540
Порт главного менеджера кластера: 2541
Порядок выполнения работ
1. Создать нового пользователя
Создадим пользователя USR1CV8_8_3_12, от имени которого будет работать новая служба 1С.
Заполним поля в выведенном окне Новый пользователь.
Нажмем кнопку Создать и потом кнопку Закрыть.
1.1. Зададим локальные групповые политики для пользователя USR1CV8_8_3_12.
Выполним следующие действия:
1. В главном меню Windows выбираем пункт Выполнить (либо по комбинации клавиш Win+R).
2. Вводим в строку Открыть имя “secpol.msc” . И нажимаем кнопку ОК. Будет запущен редактор локальной политики безопасности.
3. В редакторе локальной политики безопасности в левой части окна выбираем ветку Параметры безопасности | Локальные политики | Назначение прав пользователя.
4. Добавляем пользователя USR1CV8_8_3_12 во все политики, в которых имеется пользователь USR1CV8, а именно:
5. Выходим из редактора локальной групповой политики.
1.2. Даем права на создание баз данных
Создаем пользователя USR1CV8_8_3_12 с проверкой подлинности Windows:
Даем необходимые права новому пользователю MSSQL. Для работы 1С достаточно прав роли “dbcreator”:
2. Установить новую версию сервера 1С:Предприятие
Устанавливаем сервер 1С:Предприятия 8.3.12:
Снимаем галочку с пункта “Установить сервер 1С:Предприятия как сервис Windows”:
Иначе новая установка затрет параметры службы текущего сервера 1С (8.3.16).
3. Создаем каталог для новой службы сервера 1С:Предприятие 8.3.12
Для службы сервера 1С:Предприятие 8.3.12 потребуется отдельный каталог:
4. Зарегистрировать новую службу Агент сервера 1C:Предприятие и установить новые порты для кластера
Для регистрации новой службы необходимо воспользоваться утилитой sc.exe, и прописать в службу необходимые параметры. Для этого можно создать *.bat-файл. Пример текст *.bat-файла для описываемой ситуации приведен ниже:
. Запуск *.bat-файлов производится только с правами Администратора
После чего для закрытия окна нажимаем любую клавишу (например, пробел).
В результате исполнения *.bat-файла служба отобразится в утилите.
5. Донастроить службу вручную
Открыть свойства новой службы и указать учетную запись, от имени которой она будет запускаться, и ее пароль. В нашем случае это запись USR1CV8_8_3_12:
Запустить обе службы: Агент сервера 1C:Предприятие 8.3 и Агент сервера 1C:Предприятие 8.3.12:
6. Проверить работоспособность новой технологической платформы
Запустить консоль Администрирование серверов 1С Предприятие (C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc). Проверить подключение к обоим кластерам (по портам 1540 и 2540 для старой и новой технологической платформы соответственно).
. Если в системе используются сетевые экраны, то необходимо разрешить передачу данных по портам 2540-2541, 2560-2591.
Вместо разрешения портов можно разрешить передачу данных процессам кластера (ragent, rmngr, rphost).
Для платформы 8.3.16.1224:
Для платформы 8.3.12.1924:
Решение возможных проблем
В ходе выполнения проверки возможно возникновение некоторых ошибок.
При возникновении данной ошибки проверьте, запущены ли службы Агент сервера 1С Предприятие
При возникновении данной ошибки необходимо перерегистрировать radmin.dll.
Иногда возникает проблема, что для одной конфигурации базы 1С требуется другая версия платформы 1С:Предприятие, отличная от той, которая установлена на сервере. Поэтому чтобы не трогать другие базы, можно установить два сервера 1С:Предприятие на одном сервере Windows. В нашем примере на сервере установлено 1С:Предприятие версии 8.3.15.1830, нам нужно установить дополнительно новую версию:
Теперь начнем установку скачанных файлов.
Установка сервера 1С:Предприятие
Для примера установим сервер 1С:Предприятие 8.3.16.1063 со следующими параметрами:
Рисунок 1 - Установка сервера 1С. Выбор компонентов
Нажимаем далее и убираем галочку с «Установить сервер 1С:Предприятие как сервис», так как на сервере уже есть служба агента сервера 1С:Предприятие.
Рисунок 2 - Установка сервера 1С. Выбор пользователя
На этом завершаем установку сервера 1С:Предприятие. Далее нужно установить платформу.
Установка платформы 1С:Предприятие
Устанавливаем платформу той же версии, что и сервер - в данном случае 8.3.16.1063 со следующими параметрами:
Рисунок 3 - Установка платформы 1С
Настройка хранения кэша 1С
Теперь нужно решить, где будет храниться кэш сервера 1С. По умолчанию он хранится в каталоге C:\Program Files\1cv8\srvinfo. Этот каталог мы трогать не будем, так как там уже хранится кэш работающего сервера, поэтому создадим каталог C:\Program Files\1cv8\srvinfo_8.3.16.1063.
Рисунок 4 - Перенос каталога кэша 1С
Установка службы 1С
Далее нам необходимо установить службу 1С:Предприятие, так как при установке платформы мы этот шаг пропустили. Ее необходимо будет установить в ручном режиме. Для этого необходимо запустить командную строку от администратора и ввести команду:
Рисунок 5 - Установка службы Агент 1С: Предприятие
Теперь необходимо изменить параметры службы, чтобы подключения осуществлялись к ней через другой порт, который отличается от стандартного. А также укажем место, где будут храниться логи. Для этого необходимо:
- Зайти в реестр. Пуск->Выполнить->regedit
- Далее в реестре идем по пути HKEY_LOCAL_MACHINE->System->CurrentControlSet->Services->1C:Enterprise 8.3.16.1063 ServerAgent
- В параметре ImagePath указываем "C:\Program Files\1cv8\8.3.16.1063\bin\ragent.exe" -srvc -agent -regport 1941 -port 1940 -range 1960:1991 -d "C:\Program Files\1cv8\srvinfo_8.3.16.1063"
Рисунок 6 - Настройка подключений в реестре
Настройка службы агента 1С
Теперь необходимо настроить новую службу Агент 1С:Предприятие 8.3.16.1063. Нужно указать от какого пользователя будет запускаться наша служба.
Рисунок 7 - Запуск службы
Далее выставляем тип запуска «автоматически» и запускаем службу.
Рисунок 8 - Запуск службы в автоматическом режиме
Если все сделано правильно, то служба запустится. Далее необходимо настроить консоль администрирования.
Настройка консоли администрирования
Замечание: для каждой версии платформы нужно регистрировать соответствующую версию консоли администрирования.
Указываем имя кластера, порт из параметров службы.
Рисунок 9 - Настройка кластера
Теперь можем перенести нужную базу на новую платформу. Чтобы перенести ее на новую платформу, базу сначала нужно удалить из старой консоли администрирования.
Далее в новой консоли правой кнопкой мыши нажимаем на «информационные базы» и выбираем создать информационную базу. Указываем параметры подключения к базе. На этом все. Обе службы 1С:Предприятие должны работать.
Читайте также: