Windows 2012. 8.3.10.2299 х64 и Apache 2.4 x64. Хочу на этот же сервер установить 8.3.11.3034 x64. Как установить параллельно вторую версию сервера - я знаю, а как настроить апач, чтобы он мог работать с двумя версиями библиотек (от двух рахных платформ)?
(1)апач принципиален? Если нет - используйте iis. Создайте в нем два обработчика с разными dll для разных версий ну и каждой публикации назначьте свой обработчик в соответствии с требуемой версией платформы.
Тоже интересует - как сделать удобно.
Чтобы , к примеру, 2 разных версии висели на
localhost:80
localhost:81
и ссылались на разные папки с содержимым и разными модулями wsapi.
(5) Получилось раскидать по виртуальным хостам, указал в каждом load_module.
Но сам апач загружает только один раз видимо по имени и оставляет в кеше - стартует и ругается на различие клиентам и сервера.
Исправить _1cws_module и 1c-application внутри DLL - у меня после этого не загружается - возможно кто-то может более корректно подменить ИД - готов и на такое (пока апач не научится грузить разные библиотеки с одним именем).
Не сочтите за некропостинг, но тоже столкнулся с бедой, когда раскидывая по виртуальным хостам модули разных версий, апач подругжает только первую. Может кому-то поможет.
Для себя выход нашёл в создании второго сервиса, который работает со своим конфигом и портом. Соответственно копипастим конфиг апача, меняем в нём директиву Listen <номер порта>, в LoadModule _1cws_module указываем путь к компоненте требуемой версии и публикуем базу.
Для работы в качестве сервиса из командной строки даём команду:
<путь к апачу\httpd.exe> -f "<путь ко второму конфигу\конфиг.conf>" -k install -n "<имя новой службы>"
(8) нашла коса на камень
1. апач не умеет загружать разные файлы с одним внутренним именем и это исправлять не будут (спрашивал у разработчика).
2. 1С не подумала о людях и не сделала версии во внутренних именах.
И тут хоть виртуальные хосты - хоть что.
Спасает только ещё один экземпляр (читай копия папки).
При этом всём обязательно, чтобы хотя бы один был с неизменённым именем службы, иначе 1С при публикации просто не увидит апач.
Извините за некропостинг.
Да, на одном апаче это всё не завести, но если вдруг кому сильно надо чтобы оно выглядело, как буд-то работает на одном, решение есть - Ставите наружу nginx или тот же апач, и в нем сделать внутреннею переадресацию из названий публикаций на нужный сервер, например localhost/Super > localhost:82/Super
Это конечно не полное решение вашего вопроса, а фактически добавление ещё одного апача, который будет выполнять маршрутизацию
(11) себе сделал одну папку апача (раньше было на каждую версию отдельная) и запуск нужной версии с указанием отдельного конфига.
В конфиге номер версии 1С.
Жальше по конфигам папки и порты и прочее смотрит на эту переменную.
В принципе удобно и управлять немного проще, чем ставить и учить ещё одну программу.
(12) У меня на компе, пришлось держать 4 апача. У меня да, фактически 4 копии, но для упрощения, я вынес основные настройки в отдельный файл (всё кроме порта, подключения модуля) и в каждой из 4-х конфигах, прописаны собственно настройки порта и пр, и делается include всех остальных настроек. Ваша схема конечно лучше. Но и вам можно заимствовать частично мой вариант (если у вас не так сделано).
Пример конфига в одной из копий апача: