3

我知道我们可以在 JBoss 7 或 Wildfly 上部署多个 Web 应用程序。但是我们如何才能使用不同的端口访问不同的 Web 应用程序呢?我们在哪里为 Web 应用程序设置该端口?

例如,

  • application1 可在 xxxx:8080 上访问
  • application2 可在 xxxx:30000 上访问
  • application3 可在 xxxx:35000 上访问
4

1 回答 1

5

在您的独立设备中,您必须为每个应用程序设置不同的服务器和主机。

<subsystem xmlns="urn:jboss:domain:undertow:1.2">
    <server name="server1">
        <http-listener name="default" socket-binding="http-server1"/>
        <host name="webapp1" default-web-module="webapp1.war" alias="webapp1.com">
        </host>
    </server>
    <server name="server2">
        <http-listener name="default" socket-binding="http-server2"/>
        <host name="webapp2" default-web-module="webapp2.war" alias="webapp2.com">
        </host>
    </server>

    <!-- Other Settings -->
</subsystem>

对于套接字绑定:

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="http-server1" port="${jboss.http.port:8080}"/>
    <socket-binding name="http-server2" port="${jboss.http.port:8081}"/>

    <!-- Other ports -->
</socket-binding-group>

最后,您可以将 .war 文件放在部署目录中,但对于像这样的配置,我有时会发现明确设置运行时名称更容易:

<deployments>
    <deployment name="webapp1" runtime-name="webapp1.war">
            <fs-archive path="/path/to/webapp1.war" />
    </deployment>

    <deployment name="webapp2" runtime-name="webapp2.war">
            <fs-archive path="/path/to/webapp2.war" />
    </deployment>
</deployments>
于 2016-05-04T20:37:49.127 回答