一台服务器中有多个iDempiere实例

时间:2014-09-19 11:56:06

标签: osgi adempiere idempiere

我需要在一台服务器上安装多个iDempiere实例。定制包在构建和它们使用的数据库方面有所不同。有没有办法在一台服务器上部署它们并访问localhost:8080 / client1,localhost:8080 / client2。任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:1)

当我想引用几个应用程序服务器时,我需要复制各种安装的路径 并更改每个应用程序的数据库名称和端口:

  用于生产的

/ opt / idempiere-server-production /(在端口8080上)

  用于测试的

/ opt / idempiere-server-test /(在端口8081上)

你说的方式是不可能的,因为webapp的idempiere服务器被称为

  

http://hostname:port/webui

答案 1 :(得分:0)

解决方案就在这个链接上,只需按照http://wiki.idempiere.org/wiki/Cm:Cameroon。我希望它有助于解决您的问题

答案 2 :(得分:0)

您可以在服务器上拥有任意数量的设置。运行安装程序以创建属性时,只需为每个安装选择其他Web端口。如果它们有一些默认端口,您可能还需要稍微更改Web服务器配置。

答案 3 :(得分:0)

在一台服务器上运行idempiere的多个实例并不是很困难。 这是您需要照顾的:

  • 将实例安装到其他目​​录中。实例不需要共享任何公共文件。因此,您可以为每个实例进行完整安装。
  • 确保每个实例使用其自己的数据库。实例数据库使用不同的名称。
  • 确保idempiere服务器实例使用不同的tcp端口。
  • 如果确实需要使用单个端口来访问所有实例,则可以使用apache或ngnix之类的http服务器来定义虚拟主机。代理或使用重写规则将使您能够进行所需的重定向。 (我正在使用子域和Apache mod_proxy来完成这项工作)
  • 使用子域进行浏览器访问还有另一个好处:如果您所有的服务器实例都使用相同的主机名,则客户端浏览器有时将无法将来自不同实例的cookie分开,这可能导致会话阻塞,如{ {3}}。
  • 使用不同的数据库用户名。文档建议不要更改默认用户名Adempiere,这对于单实例安装是可以的。但是,如果您对所有实例使用一个数据库用户,则一旦需要从备份文件还原数据库,就会遇到麻烦。 RUN_DBRestore.sh 将删除并重新创建数据库用户,当该用户拥有多个数据库时,将无法执行该操作。
  • 您可以将所有实例作为服务并行运行。在安装另一个实例之前,请重命名服务脚本:sudo mv /etc/init.d/idempiere /etc/init.d/idempiere-theInstance。当然,您将需要与OS的服务控制器进行一些记账工作,以确保重命名的服务能够按需启动。

请注意:

  • 本指南中针对OS的特定说明适用于Ubuntu 16/18或Debian,如果在其他OS上需要进行一些研究。
  • 一段时间以来,我一直在使用所描述的方法来托管idempiere版本5和6,到目前为止还没有任何问题。如果要走那条路,仍然要确保自己进行彻底的测试。
  • 如果您遇到任何问题(甚至设法解决问题),请向社区报告。 (通过对这个问题给出自己的答案或发布到idempiere谷歌论坛)谢谢!