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

Клиент-серверный вариант работы - один из вариантов работы системы 1С:Предприятие 8 .

Клиент-серверный вариант работы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер».

Клиент-серверная архитектура разделяет всю работающую систему на три различные части, определенным образом взаимодействующие между собой:

Программа, работающая у пользователя, (клиентское приложение) взаимодействует с кластером серверов 1С:Предприятия 8, а кластер, при необходимости, обращается к серверу баз данных.

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

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

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

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

  • механизм запросов ориентирован на максимальное использование СУБД для выполнения расчетов и составления отчетов,
  • просмотр больших динамических списков обеспечивается без выполнения большого количества обращений к базе данных; при этом пользователю предоставляются возможности эффективного поиска, а также настройки отбора и сортировки.

Развертывание клиент-серверного варианта и его администрирование выполняется довольно просто. Например, создание базы данных производится непосредственно в процессе запуска конфигуратора (так же, как и для файлового варианта).

Клиентские приложения

Работа в клиент-серверном варианте возможна как напрямую с кластером, так и через веб-сервер. При этом в случае непосредственного подключения к кластеру толстый клиент и тонкий клиент используют протокол TCP/IP . При подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS .

Кластер серверов

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

Сервер баз данных

В качестве сервера баз данных могут использоваться:

Администрирование кластера серверов

В поставку платформы входит набор различных инструментов , позволяющих администратору управлять составом кластера, информационными базами и подключением пользователей.

Выполнение основной функциональности на сервере

Вся работа с прикладными объектами, чтение и запись базы данных выполняется только на сервере. Функциональность форм и командного интерфейса также реализована на сервере.

На сервере выполняется подготовка данных форм, расположение элементов, запись данных форм после изменения. На клиенте отображается уже подготовленная на сервере форма, выполняется ввод данных и вызовы сервера для записи введенных данных и других необходимых действий.

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

При этом механизмы платформы ориентированы на минимизацию объема данных, передаваемых на клиентский компьютер. Например, данные списков, табличных частей и отчетов передаются с сервера не сразу, а по мере просмотра их пользователем.

На сервере выполняются:

  • Запросы к базе данных,
  • Запись данных,
  • Проведение документов,
  • Различные расчеты,
  • Выполнение обработок,
  • Формирование отчетов,
  • Подготовка форм к отображению.

На клиенте выполняется:

  • Получение и открытие форм,
  • Отображение форм,
  • «Общение» с пользователем (предупреждения, вопросы…),
  • Небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество),
  • Работа с локальными файлами,
  • Работа с торговым оборудованием.

Использование встроенного языка на клиенте

Управлять функциональностью форм можно не только на сервере, но и на клиенте. На клиенте поддерживается работа встроенного языка. Он используется в тех случаях, когда необходимо провести расчеты, связанные с отображенной на экране формой, например, быстро (без обращения к серверу) подсчитать сумму строки документа на основе цены и количества; задать пользователю вопрос и обработать ответ; прочитать файл из файловой системы компьютера и отправить его на сервер.

Однако работа встроенного языка на клиенте поддерживается в строго ограниченном объеме. Клиентские процедуры в модулях в явном виде отделяются от серверных, и в них используется ограниченный состав объектной модели встроенного языка.

На клиенте не допускается непосредственная работа с базой данных. Не допускается работа непосредственно с прикладными объектами, например, недоступны такие типы встроенного языка, как СправочникОбъект.<имя> . Не допускается использование запросов. При необходимости вызова действий с данными в клиентском коде нужно вызывать серверные процедуры, которые уже будут обращаться к данным.

Предыстория… В нашей компании успешно работает 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С в клиент-серверном варианте.

Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.

Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.

Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.

Создать информационную базу в SQL.

Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.

В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.

В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.

Тип СУБД – SQL.

Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.

Смещение дат оставьте по умолчанию.

Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.

Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.

Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.

Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания – это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.

Установка Сервера 1С на Windows Server 2012 R2

В этой статье мы подробно разберем установку сервера 1С 8.3 на Windows Server 2012.

Сперва установим Сервер 1С (он же кластер серверов) х32, тридцати двух разрядный, а затем установим и х64 (Шестидесяти четырех разрядный) Cервер 1С.

И так первый вопрос, это где взять новую версию Cервера 1С?

На сайте нам нужно найти «Технологическую платформу». Потому что Сервер 1С х32 устанавливается как компонент при установке платформы 1С.

И так полагаю, что Сервер 1С у Вас уже есть.

Установка Сервера 1С (Кластера серверов) Х32.

Установка довольно проста!

Как и при установке платформы 1С, клик по Setup.exe.

И на следующей вкладке нам нужно выбрать необходимые компоненты.

Нам нужны лишь: «Сервер 1С Предприятия» и компонента: «Администрирование сервера 1С: Предприятия». Все остальные можно отключить.

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

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

Не рекомендую в целях безопасности выбирать в списке учетную запись администратора или создавать (пользователя) USR1CV8. Лучше предварительно создать учетную запись чей «Логин» и «Пароль» знаете только вы! И уже от имени этой учетки запускать службу «Агент сервера 1С».

Укажем пароль для этого пользователя и введем пароль еще раз в поле ниже.

После нужно лишь установить аппаратную или программную лицензию.

Установка Сервера 1С (Кластера серверов) Х64.

Теперь по установке х64.

Здесь нам нужно скачать отдельно Сервер 1С.

Собственно также идем на сайт поддержки пользователей https://users.v8.1c.ru — «скачать обновления»

Там ищем технологическую платформу 1С 8.3, выбираем версию которая нас интересует, а уже провалившись по ссылке, вы найдете то, что нужно, — «Cервер 1С:Предприятия (64-bit) для Windows».

Скачиваем архив, распаковываем, находим ярлык Setup.exe.

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

Остальные компоненты можно не устанавливать Сервер 1С Предприятия будет работать.