apache + mod cluster + wildfly на Ubuntu


Я пытаюсь заставить работать следующую настройку:

Apache 2.4 + mod_cluster 1.3 Final + ubuntu 14.04.2-server + Wildfly 8.1.0 Final

И я успешно рекламирую контекст wildfly для apache, но когда я пытаюсь попасть в балансировщик нагрузки, я получаю 500.

Кроме того, когда я перезапускаю apache после запуска wildfly, я получаю следующую ошибку:

MODCLUSTER000042: Error MEM sending STATUS command to 192.168.56.101/192.168.56.101:10001, configuration will be reset: MEM: Can't read node

Вот мои конфигурации:

Mod_cluster.conf

<IfModule manager_module>
   Listen *:10001
   ManagerBalancerName modcluster
   ProxyPass /cluster-demo balancer://modcluster stickysession=JSESSIONID|jsessionid nofailover=On
   ProxyPassReverse /cluster-demo balancer://modcluster
   ProxyPreserveHost On

<VirtualHost *:10001>

  <Location />
    Require all granted
  </Location>

  KeepAliveTimeout 60
  MaxKeepAliveRequests 0
  EnableMCPMReceive On
  AdvertiseFrequency 5
  ServerAdvertise On http://192.168.56.101:10001
  AdvertiseGroup 224.0.1.105:23364

  <Location /mod_cluster-manager>
   SetHandler mod_cluster-manager
   Require all granted
  </Location>

 </VirtualHost>

 <VirtualHost *:80>
   <Location />
     Require all granted
   </Location>
 </VirtualHost>

</IfModule>

Mod_cluster.нагрузка

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule slotmem_module /usr/lib/apache2/modules/mod_slotmem.so
LoadModule manager_module /usr/lib/apache2/modules/mod_manager.so
LoadModule proxy_cluster_module /usr/lib/apache2/modules/mod_proxy_cluster.so
LoadModule advertise_module /usr/lib/apache2/modules/mod_advertise.so

Домен.xml

    ...
    ...
    <subsystem xmlns="urn:jboss:domain:modcluster:1.2">
                    <mod-cluster-config advertise-socket="modcluster" proxy-list="192.168.56.101:10001" 
    balancer="modcluster" excluded-contexts="invoker,jbossws,juddi,console" load-balancing-group="other-
    server-group" connector="ajp">
                        <dynamic-load-provider>
                            <load-metric type="busyness"/>
                        </dynamic-load-provider>
                    </mod-cluster-config>
                </subsystem>
    ...
    ...
    <subsystem xmlns="urn:jboss:domain:modcluster:1.2">
                    <mod-cluster-config advertise-socket="modcluster" proxy-list="192.168.56.101:10001" 
    balancer="modcluster" excluded-contexts="invoker,jbossws,juddi,console" load-balancing-group="other-
    server-group" connector="ajp">
                        <dynamic-load-provider>
                            <load-metric type="busyness"/>
                        </dynamic-load-provider>
                    </mod-cluster-config>
                </subsystem>
Не знаю, что я делаю не так,любая помощь будет оценена. Спасибо.
1 13

1 ответ:

Прежде всего попробуйте с Wildfly 8.2 вместо 8.1 : -)

Mod_cluster.загрузка контента должна быть такой:

  LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so 
  LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so 
  LoadModule proxy_ajp_module_module /usr/lib/apache2/modules/mod_proxy_ajp.so 
  LoadModule cluster_slotmem_module /usr/lib/apache2/modules/mod_cluster_slotmem.so
  LoadModule manager_module /usr/lib/apache2/modules/mod_manager.so 
  LoadModule proxy_cluster_module/ usr/lib/apache2/modules/mod_proxy_cluster.so 
  LoadModule advertise_module /usr/lib/apache2/modules/mod_advertise.so

Slotmem в mod_cluster 1.3 был переименован в "mod_cluster_slotmem". И прокси-модуль ajp отсутствовал в вашем файле.

Запустив apache, вы получите в консоли следующее:

 [Fri May 08 12:31:02.213753 2015] [so:warn] [pid 7989:tid 140491011782528] AH01574: module proxy_module is already loaded, skipping
 [Fri May 08 12:31:02.213882 2015] [so:warn] [pid 7989:tid 140491011782528] AH01574: module proxy_http_module is already loaded, skipping

Однако вам нужно сохранить proxy_module и proxy_http_module в mod_cluster.загрузить файл.