0

我想在 jboss 7 中集群我的 web 应用程序。为此,我在 Jboss7 前面使用 Apache webserver 并使用 mod_cluster。以下是我在 httpd.conf 中的配置

`LoadModule authz_host_module modules/mod_authz_host.so
 LoadModule proxy_module modules/mod_proxy.so
 LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
 LoadModule proxy_http_module modules/mod_proxy_http.so
 LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
 LoadModule manager_module modules/mod_manager.so
 LoadModule slotmem_module modules/mod_slotmem.so
 LoadModule advertise_module modules/mod_advertise.so

 Listen  10.1.7.117:90
 Listen  10.1.7.117:10001

<VirtualHost 10.1.7.117:10001>
 <Location />
  Order deny,allow
  Deny from all
  Allow from all      
 </Location>

    KeepAliveTimeout 300
    MaxKeepAliveRequests 0
    #ServerAdvertise on  http://127.0.0.1:6666    
    AdvertiseFrequency 5
    AdvertiseSecurityKey DEV_Cluster
    AdvertiseGroup 224.0.1.105:23364
    EnableMCPMReceive

    <Location /mod_cluster_manager>
       SetHandler mod_cluster-manager
       Order deny,allow
       Deny from all
       Allow from all
   </Location>
  </VirtualHost>

在 Jboss 7 Standalone-full-ha.xml 我添加了以下内容:

'<subsystem xmlns="urn:jboss:domain:modcluster:1.0">
        <mod-cluster-config advertise-socket="modcluster" proxy-list="10.1.7.117:10001" advertise="true" advertise-security-key="Dev_Cluster">
            <dynamic-load-provider>
                <load-metric type="busyness"/>
            </dynamic-load-provider>
        </mod-cluster-config>
    </subsystem>

现在在启动 Apache 和 Jboss7 之后(我只为测试启动一个实例)我可以访问以下内容: http://10.1.7.117:10001/mod_cluster_manager

但是当我访问 http://10.1.7.117:10001它时,它会显示 Apache 主页“它有效!” 而不是重定向到我的 Web 应用程序主页,该主页位于 http://10.1.7.117:8080.

我怀疑因为我的应用程序没有可能是问题的上下文根。因此,当我在我的 Web 应用程序中添加上下文根并使用 http://10.1.7.117:10001/demo-web 它访问它时,它会向我显示应用程序网页,但图像/CSS/JS 没有加载!!。

如果有人有任何想法,请帮助我。谢谢

4

1 回答 1

0

您是否取消注释 httpd.conf 文件中的 servername 参数并提供服务器的主机名,默认情况下已将其注释掉。我在下面包含了该配置块。默认情况下,粘性会话在 Jboss 中配置为 true,这会将所有请求强制执行到单个服务器。将 sticky-session="false" 参数添加到您提到的 stanalone-ha.xml 文件中的以下行。

<mod-cluster-config advertise-socket="modcluster" proxy-list="10.1.7.117:10001"    advertise="true" advertise-security-key="Dev_Cluster" sticky-session="false">

希望这可以帮助。

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName hostname
于 2014-05-09T21:49:14.793 回答