Часто на практике возникает необходимость установки двух версий сервера 1С Предприятия на одну машину.

Как это сделать в Linux читайте ниже.

Но для начал вкратце напомним для чего это может понадобиться.

Для чего устанавливать два сервера 1С на одну машину

  1. Надо запустить тестовый сервер 1С, а отдельной машины под него нет.
  2. Надо запустить сервера 1С разных версий на production-сервере.
  3. Надо запустить сервера лицензий разных версий на выделенной машине.

Итак, например у нас на сервере Linux  уже установлена платформа 8.3.13.1648 –  это первый экземпляр сервера. Теперь мы хотим установить сервер версии 8.3.14.1857 – второй экземпляр. Подразумеваем, что первый экземпляр сервера уже установлен и запущен. Если кто забыл, про установку можно почитать тут Установка сервера 1С Предприятия на Linux.

Установка второго экземпляра сервера 1С

Зайдём на сервер под пользователем root.

1. Создадим пользователя usr1cv8314 для запуска второго экземпляра сервера

2. Создадим каталог для помещения установочных пакетов второго экземпляра и перейдем в этот каталог:

3. Поместим в этот каталог установочные пакеты второго экземпляра:

  • 1C_Enterprise83-common-8.3.14-1857.x86_64.rpm
  • 1C_Enterprise83-server-8.3.14-1857.x86_64.rpm
  • 1C_Enterprise83-ws-8.3.14-1857.x86_64.rpm

4. Распакуем эти пакеты, находясь в каталоге /install. Команда rpm2cpio просто извлекает файлы из пакета без установки в формате архива cpio,   утилита cpio в свою очередь их разархивирует:

5. Переименуем каталог с исполняемыми файлами сервера 1С в /opt/1C/v8.3.14-1857 чтобы не было совпадения с уже установленым сервером другой версии. Значение 8.3.14-1857, означает версию платформы 1С и ее релиз. Вместо номера релиза можно указать номер порта, например так 8.3.14-2540. Главное чтобы не было совпадений с другими установленными версиями сервера 1С:

6. В файле /install/etc/init.d/srv1cv83 поменяем параметры:

Внесем следующие изменения:

Зададим новую переменную G_VER_SRV с версией второго экземпляра сервера 1С. Присвоим ей значение 8.3.14-1857, именно так ранее мы назвали каталог, но без «v» в начале. Важно указать именно имя каталога, так как из него будет происходить запуск исполняемых файлов сервера 1С:

  • Изменим переменную G_BINDIR — добавим строку ${G_VER_SRV}, должно получиться так:

  • Меняем переменную G_TITLE  — укажим в названии имя нашей переменной с версией сервера, можно еще добавить строку «on port 2540», должно получиться так:

  • Изменим имя пользователя, если второй экземпляр будет запускаться  под другим пользователем:

  • Изменим имя pid-файла процесса для второго экземпляра сервера 1С:

7. В файле /install/etc/sysconfig/srv1cv83 поменяем параметры:

Внесем изменения в строки, укажем новый порты и рабочий каталог:

8. Скопируем скрипт запуска демона агента сервера в системный каталог  /etc/init.d в папку с именем нашего второго экземпляра сервера 1С:

Запуск второго экземпляра сервера 1С

1. Запустим второй экземпляр.

2. Убедимся, что процессы сервера 1С первого и второго экземпляра запущены и работают:

На экране видим в том числе процессы ragent, rmngr и rphost запущенные из папки /opt/1C/v8.3.14-1857  — это и есть процессы второго экземпляра сервера.

Проверка работы второго эксземпляра сервера 1C на Linux

Проверим что процессы сервера 1С первого и второго экземпляра слушают заданные нами порты:

Видим, что порты 2540, 2541 и 2560 прослушиваются, значит все настройки сделаны правильно.

Проверка открытых портов второго эксземпляра сервера 1C на Linux

Аналогичную проверку можно выполнить такой командой:

3. Поле проверки работоспособности нашего второго экземпляра серера 1С можно удалить файлы из каталога /install:

При использовании команды рекурсивного удаления файлов rm -rf соблюдайте осторожность!!!  Особое внимание при использовании шаблонов  типа «/*». Так команда rm -rf  /* может привести к полной очистке системного диска и краху системы.

Если после этой команды Linux все еще работает, поздравляем!!! Вы все сделали правильно!