域模式下的wildfly 10 + ubuntu + mod_cluster上的apache2

时间:2015-10-20 17:26:10

标签: apache2 cluster-computing ubuntu-14.04 wildfly mod-cluster

我正在努力让以下设置正常工作:

操作系统:Ubuntu 14.04.3 LTS Apache2:Apache / 2.4.7(Ubuntu) mod_cluster 1.3.1 wildfly:wildfly-10.0.0.CR2域模式(main-server-group中的server-one和同一ubuntu服务器上other-server-group中的server-two) 测试部署:cluster-demo

两周后我使用了mod_cluster工作的apache,但是wildfly没有按预期工作。

我的apache配置:

/ wildfly.conf启用位点-

Listen 80

<VirtualHost *:80>
    ServerAdmin info@domain.de
    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 webmaster@localhost
    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>

/ mod_cluster.conf启用MODS-

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>

/ mod_cluster.load启用MODS-

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可用,cluster-demo的演示页面也可用。但是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)

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

(Incoming-2,ee,master:server-two)ISPN000094:收到频道网络的新集群视图:[master:server-two | 12](1)[master:server-two]

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

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

我的wildfly domain.xml配置是服务器的标准配置 这两个问题:

    <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?广告模块有什么问题吗?

希望索莫可以帮助我。

4 个答案:

答案 0 :(得分:1)

我来到这里寻找解决方案当mod cluster cant ping port 27233时。 在前几周,我试图首先使用httpd 2.4设置野生蝇群。和mod集群1.3.1由于它不起作用我尝试使用httpd 2.2 and modcluster 1.2.6。它对我有用。这很重要,所以我知道我有正确的配置。现在我回来了,尝试使用modcluster 1.3.1进行设置,但我相信有一些东西与该端口有关。那个端口甚至都没有打开,所以肯定不能打开它。

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

答案 1 :(得分:0)

您的ProxyPass设置是多余的;请从您的配置中删除所有这些内容。 Vanilla mod_cluster配置足以满足您的需求。当需要额外的ProxyPass设置时,唯一需要调整代理平衡器的情况;例如使Apache从balacner本身提供静态内容,并仅转发特定的URL路径等。

此外,您必须确保:

  1. 您的Apache HTTP Server实例和所有工作人员都绑定到非本地主机IP地址
  2. Apache HTTP Server可以在各自的IP地址上联系所有员工:他们向平衡器报告的端口。我几乎可以肯定你的设置并非如此;因此故障转移到另一个工作节点不起作用。
  3. 最后但并非最不重要的是,为Undertow子系统元素设置instance-id属性;每个工人都有一个不同的人。如果balacner不确定你的工人的名字,它可能会试图联系错误的工人。
  4. Lemme知道它是否有帮助。

答案 2 :(得分:0)

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

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

为我们工作

答案 3 :(得分:0)

我们需要配置WildFly以接受来自Apache HTTP的调用,打开管理控制台,然后选择配置:配置文件配置文件:完整子系统:Web / HTTP - Undertow设置:HTTP

选择上面的AJP Listener,然后单击Add。

名称:default.ajp 套接字绑定:ajp

单击“保存”,然后确保“已启用”属性设置为“真实”。

Wildfly 10

这对我有用。这是错误的5天。