Несколько экземпляров iDempiere на одном сервере
Мне нужно установить несколько экземпляров iDempiere на одном сервере. Индивидуальные пакеты различаются по сборке и используемой ими базе данных. Есть ли способ развернуть оба из них на одном сервере и получить доступ как localhost:8080/client1, localhost:8080/client2 . Любая помощь приветствуется.
3 ответа
Когда я хочу сослаться на несколько серверов приложений, мне нужно скопировать путь различных установок и изменить имя базы данных и порт каждого приложения:
/ opt / idempiere-server-production / (например, на порту 8080) для производства
А также
/opt/idempiere-server-test/ (например, на порту 8081) для тестирования
то, как вы сказали, невозможно, потому что сервер idempiere для веб-приложений известен как
Запуск нескольких экземпляров 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. я надеюсь, это поможет решить ваши проблемы