如何将 2 个应用程序(同一只耳朵)部署到不同端口上的单个 jboss。有可能吗?
How to deploy 2 applications(same ear) to a single jboss on different ports. Is it even possible?
我使用 Jboss eap 6.4。
我想同时部署这些耳朵,但在不同的端口。
如果我只用两只耳朵进行部署,我会得到:DuplicateServiceException: Service /app already registered.
要为端口 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
我使用 Jboss eap 6.4。 我想同时部署这些耳朵,但在不同的端口。 如果我只用两只耳朵进行部署,我会得到:DuplicateServiceException: Service /app already registered.
要为端口 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