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路径等。
此外,您必须确保:
- 双方你的Apache HTTP Server实例和所有的工作人员都必然非本地主机IP地址
- Apache HTTP服务器可以接触到您所有的工作人员分别向其报告给平衡器的IP地址:端口。我几乎可以肯定,你的设置并非如此;因此故障切换到另一个工作节点不起作用。
- 最后但并非最不重要,请为您的Undertow子系统元素设置
instance-id
属性;对于你的每一个工人来说都是不同的。如果巴拉克纳对工人的名字不确定,它可能会尝试联系错误的工人。
让我知道它是否有帮助。
我来这里寻找解决方案时,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天看什么错误。
感谢您的信息。我会在下周尝试你的提示,并会回来。 – ducky12
有人删除了我的最后一个awnser,我会尝试更多,并尽可能回到讨论中 – ducky12