我需要在一台机器上运行多个(超过4个)JBoss服务器实例。 我正在使用JBoss 4.2.3 GA。
答案 0 :(得分:13)
我找到了答案。我们必须配置 jboss-service.xml 以在同一台机器上运行多个实例。
我们可能需要保持与 JBOSS_HOME \ Serve r下相同的“默认”实例。
我们必须在 JBOSS_HOME \ Server 下创建另一个名为“instance2”的文件夹。 将 JBOSS_HOME \ Server \ default 中的所有内容复制到此新创建的文件夹中。
现在转到 JBOSS_HOME \ Server \ instance2 目录下的conf文件夹。
编辑 jboss-service.xml 。
在此配置文件中搜索mbean code="org.jboss.services.binding.ServiceBindingManager"
。
默认情况下,此xml标记已注释。我们必须取消评论并将值 ports-00 更改为 ports-01 。
然后启动这个instance2 jboss实例。我们可以使用端口号8180访问此应用程序。
我们可以通过这种方式最多使用3个实例。
要运行更多,我们必须添加更多运行标签 的 JBOSS_HOME \文档\例子\绑定管理器\样品bindings.xml 强>
答案 1 :(得分:5)
只需更改服务器绑定的IP,即可简化操作。
您需要多次复制整个jboss文件夹,并将run.bat配置为在启动时使用-b参数。
如果这是一个Windows服务器并且您正在运行jboss作为服务,您可能还想为每个实例编辑service.bat,以便服务器在服务控制面板中都具有不同的名称。
我们在尝试使用不同的HTTP端口时遇到的部分问题是jboss为了不同的目的使用了“很多”端口,并且编辑所有这些端口号在每个实例上都是唯一的。通过更改绑定地址,您可以完全避免此问题。
答案 2 :(得分:2)
创建多个环回适配器并将每个IP地址绑定到不同的实例。
无需更换端口。
RK
答案 3 :(得分:1)
1)使用新名称复制默认文件夹:实例名称
2)在jboss-service.xml中取消注释ServiceBindingManager mbean并将ServerName更改为ports-01或02或03,例如:ports-01和ports-01 / 02/03配置应该在sample-bindings.xml中。 (目前在docs / examples / binding-manager中)并在ports-01 / 02/03标签下提到的所有端口进行更改,以便端口不会发生冲突。请记住,服务器将在绑定端口上运行,如8080/8180/8182。
从cmd promt转到bin文件夹并使用cmd:
运行实例运行-c instancename
答案 4 :(得分:1)
在同一台服务器上运行多个JBoss实例:
mbean code="org.jboss.services.binding.ServiceBindingManager"
。
C。默认情况下,此xml标记已注释。我们必须取消注释并将值ports-00更改为ports-01。 在同一文件中,在“套接字传输连接器”下的“配置”部分中,必须将serverBindPort更改为其他值,否则它将与默认值(4446)冲突。
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.remoting:service=Connector,transport=socket"
display-name="Socket transport Connector">
...
<attribute name="Configuration">
...
<attribute name="serverBindPort">25447</attribute>
...
在default2/deploy/ejb3.deployer/META-INF/jboss-service.xml
中,对于remoting.transport.Connector mbean,端口3873必须更改为其他值,否则将与默认值冲突。
<mbean code="org.jboss.remoting.transport.Connector"
name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
<depends>jboss.aop:service=AspectDeployer</depends>
<attribute name="InvokerLocator">socket://${jboss.bind.address}:25874</attribute>
...
在default2 \ deploy \ jboss-web.deployer \ server.xml
将重定向端口值设置为步骤4中配置的值
<Connector port="8180" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="25447" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
此外,步骤5中配置的端口值
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="25010" address="${jboss.bind.address}" protocol="AJP/1.3" //change the connector port value to avoid conflict
emptySessionPath="true" enableLookups="false" redirectPort="25874" /> // port value configured in step 5
总之,用于设置其他两个实例的目录结构将是一些东西 如下所示,文件名以粗体修改。
$ JBOSS_HOME /服务器/默认
$ JBOSS_HOME /服务器/缺省2
的 强> 的 $ JBOSS_HOME /服务器/缺省2 / CONF / JBoss的-service.xml的强>
<强> $ JBOSS_HOME /服务器/缺省2 /部署/ ejb3.deployer / META-INF /的jboss-service.xml的强>
<强> $ JBOSS_HOME /服务器/缺省2 /部署/ JBoss的-web.deployer / server.xml中** 强>
$ JBOSS_HOME /服务器/ default3
的 强> 的 $ JBOSS_HOME /服务器/ default3 / CONF / JBoss的-service.xml的强>
<强> $ JBOSS_HOME /服务器/ default3 /部署/ ejb3.deployer / META-INF /的jboss-service.xml的强>
<强> $ JBOSS_HOME /服务器/ default3 /部署/ JBoss的-web.deployer / server.xml中** 强>
7.从命令提示符转到bin文件夹并使用cmd:
运行实例运行-c instancename
在这种情况下,它是:运行-c default2
使用url访问的应用程序如下:
http://localhost:8080/myapp/
http://localhost:8180/myapp/
http://localhost:8280/myapp/
注意:我们可以通过这种方式最多使用3个实例。 要运行更多,我们必须在 JBOSS_HOME \ docs \ examples \ binding-manager \ sample-bindings.xml 中添加更多运行标记。
答案 5 :(得分:1)
我用这篇文章来安装我的。 http://wiki.adempiere.net/Setup_2_Adempiere_JBoss_server_in_1_physical_server
您应该创建不同的服务来控制adempiere服务器。
此外,如果您使用jasper报告,请为报告使用唯一的文件名,否则您将面临权限被拒绝的异常。
例如:如果将“report.jrxml”附加到两台服务器上。服务器将创建/tmp/report.jrxml tmp文件。
第二台服务器也会尝试创建同一个文件并崩溃
答案 6 :(得分:1)
将完整的JBOSS设置复制到新位置,并使用 offset 选项启动新服务器,该选项将在现有IP上启动服务器并将端口更改为previous_configured_port + offset
standalone.bat -c standalone-full.xml -Djboss.socket.binding.port-offset=100
此命令将默认jboss控制台9990
设为10090
现在,您可以在新部署文件夹中添加war文件,并在新端口上开始部署
答案 7 :(得分:0)
最简单,最简单的方法是简单地为托管计算机配置多个IP地址。然后,您可以使用不同的IP地址绑定到每个实例。这样做意味着您不必更改任何默认端口,并且可以更轻松地管理。
答案 8 :(得分:0)
我们可以在JBOSS EAP上轻松完成此操作 首先,只需按原样启动JBOSS即可。
对于第二个例子, 将JBOSS主文件夹复制到其他位置。
转到standalone / configuration / standalone.xml。转到(在文件底部)部分并将port-offset值设置为某个值(EX:10000),该值在当前运行的应用程序上没有任何端口绑定问题。这里默认的port-offeset值为0.
像往常一样启动第二个实例。