Несколько экземпляров iDempiere на одном сервере

Мне нужно установить несколько экземпляров iDempiere на одном сервере. Индивидуальные пакеты различаются по сборке и используемой ими базе данных. Есть ли способ развернуть оба из них на одном сервере и получить доступ как localhost:8080/client1, localhost:8080/client2 . Любая помощь приветствуется.

3 ответа

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

/ opt / idempiere-server-production / (например, на порту 8080) для производства

А также

/opt/idempiere-server-test/ (например, на порту 8081) для тестирования

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

HTTP: // имя хоста: порт / WebUI

Запуск нескольких экземпляров idempiere на одном сервере не так уж и сложно. Вот о чем нужно позаботиться:

  • Установите экземпляры в разные каталоги. Экземплярам не обязательно использовать общие файлы. Таким образом, вы можете выполнить полную установку для каждого экземпляра.
  • Убедитесь, что каждый экземпляр использует свою собственную базу данных. Используйте разные имена для баз данных экземпляра.
  • Убедитесь, что экземпляры сервера idempiere используют разные порты TCP.
  • Если вам действительно нужно использовать один порт для доступа ко всем экземплярам, ​​вы можете использовать http-сервер, такой как apache или ngnix, для определения виртуальных хостов. Затем проксирование или использование правил перезаписи позволит вам выполнить желаемое перенаправление. (Я использую поддомены и apache mod_proxy для выполнения этой работы)
  • Есть еще одно преимущество использования поддоменов для доступа браузера: если все экземпляры вашего сервера используют одно и то же имя хоста, клиентский браузер иногда не сможет хранить файлы cookie из разных экземпляров отдельно, что может привести к заблокированному сеансу, как описано здесь в идемпьере. группа Google.
  • Используйте разные имена пользователей БД. Документы советуют не изменять имя пользователя по умолчанию Adempiere, и это нормально для установки с одним экземпляром. Тем не менее, если вы используете одного пользователя БД для всех своих экземпляров, вы столкнетесь с проблемами, когда вам потребуется восстановить базу данных из файла резервной копии. RUN_DBRestore.sh будет удалить и заново создать пользователя БД, который не является возможным, когда пользователь владеет более чем одной БД.
  • Вы можете запускать все свои экземпляры как службы параллельно. Перед установкой другого экземпляра переименуйте служебный скрипт:sudo mv /etc/init.d/idempiere /etc/init.d/idempiere-theInstance. Конечно, вам нужно будет провести некоторую бухгалтерскую работу с сервисным контроллером вашей ОС, чтобы гарантировать, что переименованные службы запускаются должным образом.

Пожалуйста, обратите внимание:

  • Описания конкретных ОС в этом руководстве относятся к Ubuntu 16/18 или Debian, если в другой ОС вам нужно провести некоторое исследование.
  • Я использую описанный подход для размещения idempiere версий 5 и 6 в течение некоторого времени и пока у меня не было никаких проблем. Тем не менее убедитесь, что вы провели собственные тщательные тесты, если хотите пойти по этому пути.
  • Если вы столкнетесь с какими-либо проблемами (и, возможно, даже сумеете их решить), сообщите об этом сообществу. (предоставив свой ответ на этот вопрос или разместив сообщение в группе idempiere google) Спасибо!

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

Решение прямо по этой ссылке, просто следуйте http://wiki.idempiere.org/wiki/Cm:Cameroon. я надеюсь, это поможет решить ваши проблемы

Другие вопросы по тегам