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 ответ:
Прежде всего попробуйте с 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.загрузить файл.