如何将2个应用程序(相同的耳朵)部署到不同端口上的单个jboss。可能吗

时间:2018-12-20 14:42:41

标签: deployment jboss jboss-eap-6

我使用Jboss eap 6.4。 我想将这些耳朵同时部署在不同的端口上。 如果我只花2个耳朵就可以部署,我会得到:DuplicateServiceException:Service / app已经注册。

1 个答案:

答案 0 :(得分:1)

要为端口8080上的App1.war和端口8543上的App2.war配置JBoss,您应执行以下步骤:

  • 首先,您必须为8543添加套接字绑定(因为已经定义了端口8080)。

<socket-binding name="http2" port="8543"/>

  • 在Web子系统中,应声明以下连接器

<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http" />

<connector name="http2" protocol="HTTP/1.1" scheme="http" socket-binding="http2" />

  • 此外,在Web子系统中,应声明以下两个虚拟服务器

<virtual-server name="host1" enable-welcome-root="false" default-web-module="App1.war"> <alias name="first.com"/> </virtual-server>

<virtual-server name="host2" enable-welcome-root="false" default-web-module="App2.war"> <alias name="second.com"/> </virtual-server>

  • 将适当的虚拟服务器与相应的连接器相关联:

<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"> <virtual-server name="host1"/> </connector> <connector name="http2" protocol="HTTP/1.1" scheme="http" socket-binding="http2"> <virtual-server name="host2"/> </connector>

  • 最后一步是在WEB-INF中使用正确的 jboss-web.xml 配置每个应用程序:

- For App1.war <jboss-web> <virtual-host>host1</virtual-host> </jboss-web>

- For App2.war <jboss-web> <virtual-host>host2</virtual-host> </jboss-web>

现在可以通过以下网址访问每个应用程序:

对于App1.war-http://first.com:8080/App1/index.jsp

对于App2.war-http://second.com:8543/App2/index.jsp

请记住,在系统的/etc/hosts中,您必须添加相应的虚拟服务器别名:

127.0.0.1 localhost.localdomain localhost first.com second.com