Параллельный запуск нескольких серверов 1С одной версии (в обычном режиме и в режиме отладки)
Статья описывает порядок настройки для параллельного запуска нескольких экземпляров сервера 1С на одном физическом сервере с одним физическим ключем сервера 1С. Задача ставилась следующим образом: необходимо обеспечить паралельный запуск 2 экземпляров одной и тойже платформы 1С, одной в рабочем режиме, другой — в режиме отладки.
- Описание
- Подробнее
Описание
Изначально было найдено описание решения: //sale.itcity.ru/public/71077/:
«В 1С:Предприятии отсутствуют штатные возможности по регистрации нескольких экземпляров сервера 1С:Предприятия одной версии (8.1 или 8.2).
Если после установки предполагается запуск нового экземпляра сервера, а не простое обновление версии 1С:Предприятия, то при установке 1С:Предприятия с теми же первыми двумя цифрами номера версии не следует регистрировать сервер 1С:Предприятия как сервис.
Дополнительные экземпляры сервера 1С:Предприятия могут быть запущены только из командной строки. При этом важно, чтобы они различались не только портами, но и каталогами реестра кластера.«
однако после запуска Сервера из командной строки — он отказывался видеть аппаратный ключ защиты, на что с службе поддержки посоветовали запускать вторую копию сервера как службу, многое пришлось делать «ручками», но результат превзошел ожидания.
Первоначальная установка:
Начальные условия: 1 копия агента сервера 1С уже установлена как служба.
Порядок добавления второй (отладочной) копии:
1. Создаем новую папку для служебной информации сервера (рис. 1)
проверяем/устанавливаем права доступа на данную папку сервера (anig99)
2. Создаем новую ветку реестра (проще всего через экспорт — импорт), меняем порты (на стандатных портах уже работает другой сервер 1с), папку (пп1), добавляем ключ «-debug» (для запуска в режиме отладки) рис. 2

Параметр -debug можно расположить в любом месте строки параметров (на рисунке он в конце).
3. После этого нужно перезагрузить MS сервер — соответствующая служба появится в списке служб сервера (рис. 3)

Можно обойтись без перезагрузки сервера. Достаточно воспользоваться командой sc. что-то типа sc create 1CServerEnterpriseServer binPath= «C:\Program Files (x86)\1cv82\8.2.15.310\bin\ragent.exe». В этом случае создаться ветка в реестре и служба сразу появится в списке служб Windows. Останется только удалить из реестра эту новую ветку и переименовать созданную нами в 1CServerEnterpriseServer (вместо 1C:Enterprise 8.2 Server Agent[debug]). Все. Обновляем список служб и видим нашу службу, которую можно запускать. (anig99)
Иногда после добавления второй службы в режиме отладки перестают запускаться в автоматическом режиме обе. Вручную стартуют. Журнал винды говорит «Сбой при запуске службы «Агент сервера 1С:Предприятия 8.2 (x86-64)» из-за ошибки Имя учетной записи задано неверно или не существует, или же неверен указанный пароль.», в этом случае нужно либо использовать для запуска сервера локальную учетную запись, либо вместо сетевой записи учетки типа username@domain, использовать запись типа domain\username. (motkot)
4. Создаем новую ветку в администрировании Серверов 1С (с соотвествующим портом) рис. 4

Возможно, понадобится также, создать рабочий сервер и процесс (иногда они не создаются автоматом) (Igor2010)
5. Создаем новую базу 1С: (здесь важно в имени сервера указать наш нестандартный порт например так «Srv:1741»), pис. 5

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

т.е. мы увидим, что «рабочая» служба запущена под новой платформой, а «отладочная» — под старой (в принципе можно это оставить так, но лучше всетаки иметь «отладочную» платформу тойже версии).
Для этого, всего-то нужно немного подправить реестр, как мы уже видели ранее, на рис 2, т.е. приблизительно так, рис.7:

После этого нужно проверить и перезапустить соответсвующую службу, рис.8:
Переключение базы в режим отладки:
Чтобы переключить существующую базу из «рабочего» режима в режим «отладки», достаточно отсоединить её в консоли администратора (рис.4) от рабочего сервера естественно без очистки, и подсоединить к отладочному (это происходит очень быстро), не забываем изменить порт сервера в описании пути к базе (рис.5).
В процессе поиска решения были использованы материалы:
//sale.itcity.ru/public/71077/
http://www.intelav.ru/help/install-1c-server
Особое спасибо: anig99, Igor2010, motkot, за дельные комментрии.
Теперь мы знаем: что и как делается.)))
Upd 12.04.2013: Появилась маленькая программка которая все, что здесь описано делает автоматом: Простое добавление новых служб сервера 1С или изменение параметров у существующих, но представлять что именно она делает, иногда, тоже полезно.

