wildfly 10域模式+ Apache2的Ubuntu的+ mod_cluster

问题描述:

我试图让下面的设置工作:wildfly 10域模式+ Apache2的Ubuntu的+ mod_cluster

操作系统:Ubuntu的LTS 14.04.3的Apache2 :阿帕奇/ 2.4.7(Ubuntu的) mod_cluster 1.3 0.1 wildfly:wildfly-10.0.0.CR2域模式(服务器酮在主服务器组和服务器两个相同的ubuntu服务器上的其他服务器组) 测试部署:群集演示

2个星期后,我有Apache mod_cluster工作,但野蝇不能按预期工作。

我的Apache配置:

启用站点-/ wildfly.conf

Listen 80 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    ServerName myserver.com 
    ServerAlias www.myserver.com 

    ProxyPass/balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On 
    ProxyPassReverse/balancer://mycluster 
    ProxyPreserveHost On 

    <Location /> 
     Order deny,allow 
     Allow from All 
    </Location> 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

/000-default.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot /var/www/html 

    ProxyPass/ajp://host:8009/ 
    ProxyPassReverse/ajp://host:8009/ 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost> 

启用MODS-/ mod_cluster.conf

启用的站点 -
CreateBalancers 1 

<IfModule manager_module> 
    Listen host:10001 

     ManagerBalancerName myclustern 

    <VirtualHost host:10001> 
     KeepAliveTimeout 300 
     MaxKeepAliveRequests 0 
     AdvertiseFrequency 5 
     ServerAdvertise On http://host:10001 
     EnableMCPMReceive 
     AdvertiseGroup 224.0.1.105:23364 

     <Location /> 
      Order deny,allow 
      Deny from all 
      Allow from all 
      Require all granted 
     </Location> 

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

mods-启用/ mod_cluster.load

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 /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 

mod_cluster-manager可用,集群演示的演示页面也可用。但是,Apache的错误日志显示以下错误:

[Mon Oct 19 21:18:34.798472 2015] [proxy:error] [pid 30588:tid 139836923037440] (111)Connection refused: AH00957: ajp: attempt to connect to host:27233 (host) failed 
[Mon Oct 19 21:18:34.798523 2015] [proxy:error] [pid 30588:tid 139836923037440] AH00959: ap_proxy_connect_backend disabling worker for (host) for 60s 
[Mon Oct 19 21:18:44.799481 2015] [proxy:error] [pid 30588:tid 139836902057728] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:18:54.800456 2015] [proxy:error] [pid 30588:tid 139836881078016] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:19:04.801415 2015] [proxy:error] [pid 30588:tid 139836870588160] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:19:14.802499 2015] [proxy:error] [pid 30589:tid 139836755199744] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:19:24.803463 2015] [proxy:error] [pid 30589:tid 139836744709888] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:19:34.804541 2015] [proxy:error] [pid 30588:tid 139836849608448] (111)Connection refused: AH00957: ajp: attempt to connect to host:27233 (host) failed 
[Mon Oct 19 21:19:34.804602 2015] [proxy:error] [pid 30588:tid 139836849608448] AH00959: ap_proxy_connect_backend disabling worker for (host) for 60s 
[Mon Oct 19 21:19:44.805589 2015] [proxy:error] [pid 30589:tid 139837055608576] AH00940: ajp: disabled connection for (host) 
[Mon Oct 19 21:19:54.806578 2015] [proxy:error] [pid 30589:tid 139837045118720] AH00940: ajp: disabled connection for (host) 

当我停止服务器,一个从主服务器组服务器两说,

(来电-2,EE,主:服务器二) ISPN000094:收到新的集群视图通道网络:主:服务器二| 12](1)[主:服务器二]

,但在浏览器中,我得到的,而不是集群演示页:

Service unavailable 
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. 

我野蛮的dom ain.xml配置是从服务器的标准配置从 抛开这两个chanches:

<socket-binding-groups> 
    <socket-binding-group name="full-ha-sockets" default-interface="public"> 
     ... 
     <outbound-socket-binding name="mc-prox1"> 
      <remote-destination host="host" port="10001"/> 
     </outbound-socket-binding> 
    </socket-binding-group> 
</socket-binding-groups> 

<subsystem xmlns="urn:jboss:domain:modcluster:2.0"> 
    <mod-cluster-config advertise-socket="modcluster" proxies="mc-prox1" sticky-session="true" sticky-session-remove="false" sticky-session-force="false" connector="ajp"> 
     <dynamic-load-provider> 
      <load-metric type="cpu"/> 
     </dynamic-load-provider> 
    </mod-cluster-config> 
</subsystem> 

是Apache 000-default.conf有必要吗?如果我删除了proxypass和proxypassreverse注释,我无法访问演示页面。 为什么我需要wildfly中的代理注解才能让Apache运行?广告模块有问题吗?

希望somone可以帮助我。

您的ProxyPass设置是多余的;请将它们全部从您的配置中删除。 Vanilla mod_cluster配置对于您的场景已经足够了。当需要额外的ProxyPass设置时,唯一的情况是需要调整代理均衡器;例如使Apache从balacner本身提供静态内容并只转发特定的URL路径等。

此外,您必须确保:

  1. 双方你的Apache HTTP Server实例和所有的工作人员都必然非本地主机IP地址
  2. Apache HTTP服务器可以接触到您所有的工作人员分别向其报告给平衡器的IP地址:端口。我几乎可以肯定,你的设置并非如此;因此故障切换到另一个工作节点不起作用。
  3. 最后但并非最不重要,请为您的Undertow子系统元素设置instance-id属性;对于你的每一个工人来说都是不同的。如果巴拉克纳对工人的名字不确定,它可能会尝试联系错误的工人。

让我知道它是否有帮助。

+0

感谢您的信息。我会在下周尝试你的提示,并会回来。 – ducky12

+0

有人删除了我的最后一个awnser,我会尝试更多,并尽可能回到讨论中 – ducky12

我来这里寻找解决方案时,mod群集不能ping通端口27233. 在前几周我试图建立群集的蜻蜓先用httpd 2.4。和mod集群1.3.1因为它没有工作,我试着用httpd 2.2 and modcluster 1.2.6。它为我工作。这很重要,所以我知道我有正确的配置。现在我回来了,尝试使用modcluster 1.3.1进行设置,但我相信这个端口有一些东西。那个端口甚至没有打开,所以肯定它不能ping通它。

我认为在新的mod_cluster中有一些错误。尝试使用较老的组件,它的效果很好

如果您在apache errorLog中收到27233端口错误,您的系统与modcluster 1.3.1中的二进制.so文件不兼容。

在这种情况下,您必须针对您的系统构建mod群集from source

工作的罚款我们

我们需要配置WildFly接受来自Apache的HTTP调用,打开管理控制台,并选择配置:配置配置:全子系统:网络/ HTTP - 暗潮设置:HTTP

选择上面的AJP侦听器,然后单击添加。

名称:default.ajp 插座结合:AJP

单击保存,然后确保Enabled特性设置为true。

蜻蜓10

这对我很有用。这是5天看什么错误。