Мне нужно установить несколько экземпляров iDempiere на один сервер. Настраиваемые пакеты отличаются сборкой и базой данных, которую они используют. Есть ли способ развернуть оба на одном сервере и получить доступ, например, localhost:8080/client1, localhost:8080/client2 . Любая помощь приветствуется.
Несколько экземпляров iDempiere на одном сервере
Ответы (3)
Когда я хочу сослаться на несколько серверов приложений, мне нужно скопировать путь к различным установкам и изменить имя базы данных и порт каждого приложения:
/opt/idempiere-server-production/ (например, на порту 8080) для производства
А также
/opt/idempiere-server-test/ (например, на порту 8081) для теста
то, как вы сказали, невозможно, потому что сервер idempiere для веб-приложения известен как
Запустить несколько экземпляров idempiere на одном сервере не так уж сложно. Вот о чем вам нужно позаботиться:
- Установите экземпляры в разные каталоги. Экземплярам не нужно совместно использовать какие-либо общие файлы. Так что вы можете сделать полную установку для каждого экземпляра.
- Убедитесь, что каждый экземпляр использует свою собственную базу данных. Используйте разные имена для экземплярных баз данных.
- Убедитесь, что экземпляры сервера idempiere используют разные TCP-порты.
- Если вам действительно нужно использовать один порт для доступа ко всем экземплярам, вы можете использовать http-сервер, такой как apache или ngnix, для определения виртуальных хостов. Затем проксирование или использование правил перезаписи позволит вам выполнять желаемые перенаправления. (Я использую поддомены и apache mod_proxy для выполнения этой работы)
- Существует еще одно преимущество использования поддоменов для доступа через браузер: если все экземпляры вашего сервера используют одно и то же имя хоста, клиентский браузер иногда не сможет хранить файлы cookie из разных экземпляров отдельно, что может привести к блокировке сеанса, как обсуждалось здесь, в группе idempiere google.
- Используйте разные имена пользователей БД. В документации не рекомендуется изменять имя пользователя Adempiere по умолчанию, и это нормально для установки с одним экземпляром. Тем не менее, если вы используете одного пользователя БД для всех своих экземпляров, у вас возникнут проблемы, когда вам понадобится восстановить базу данных из файла резервной копии. RUN_DBRestore.sh удалит и заново создаст пользователя БД, что невозможно, если пользователь владеет более чем одной БД.
- Вы можете запускать все свои экземпляры как сервисы параллельно. Перед установкой другого экземпляра переименуйте служебный скрипт:
sudo mv /etc/init.d/idempiere /etc/init.d/idempiere-theInstance
. Конечно, вам нужно будет провести некоторую бухгалтерскую работу с контроллером служб вашей ОС, чтобы убедиться, что переименованные службы запускаются по желанию. - Контроллер службы взаимодействует с сервером iDempiere через консоль OSGI. Чтобы это работало без проблем в среде с несколькими экземплярами, вам необходимо назначить разные номера порта telnet для каждого из экземпляров: в редакторе по вашему выбору откройте файл
/etc/init.d/iDempiere
. Найдите строкуexport TELNET_PORT=12612
и измените номер порта на другой.
Пожалуйста, обрати внимание:
- Описания конкретных ОС в этом руководстве относятся к Ubuntu 16/18 или Debian, если в другой ОС вам нужно провести некоторые исследования.
- Я уже некоторое время использую описанный подход для размещения idempiere версий 5 и 6, и до сих пор не было никаких проблем. Тем не менее убедитесь, что вы делаете свои собственные тщательные тесты, если вы хотите пойти по этому пути.
- Если у вас возникнут какие-либо проблемы (и, возможно, вам даже удастся их решить), сообщите об этом сообществу. (предоставив свой собственный ответ на этот вопрос или опубликовав сообщение в группе Google idempiere) Спасибо!
Вы можете иметь столько настроек на своем сервере, сколько захотите. Когда вы запускаете установку для создания своих свойств, просто выбирайте другие веб-порты для каждой установки. Вам также может потребоваться немного изменить конфигурацию веб-серверов, если у них есть порты по умолчанию.
localhost:9090
localhost:1010
и так далее. Кроме того, вы можете просто создавать новых клиентов в idempiere, программное обеспечение достаточно хорошо для разделения задач. - person Y. Leonce Eyog   schedule 04.12.2014