关于带有httpd2.4的jboss:wildfly 9.0独立集群。和mod_cluster1.3.1

wildfly 9.0 standalone cluster with httpd2.4. and mod_cluster1.3.1

我想设置一个具有2个节点的独立Wildfly集群。为此,我设置了2个fedora22虚拟机。在两个节点上,我都安装了Wildfly 9.0.0.Final,并使用standalone-ha.xml配置文件运行它。在第一个节点上,我还安装了httpd 2.4和mod_cluster 1.3.1。当前设置在下面列出。
在两台计算机上,我都禁用了防火墙和SELinux。

Node1配置(192.168.2.240)

mod_cluster.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
LoadModule cluster_slotmem_module       modules/mod_cluster_slotmem.so
LoadModule proxy_cluster_module modules/mod_proxy_cluster.so
LoadModule advertise_module     modules/mod_advertise.so
LoadModule manager_module       modules/mod_manager.so
CreateBalancers 1
<IfModule manager_module>
 Listen 192.168.2.240:6666
 ManagerBalancerName mycluster
 <VirtualHost 192.168.2.240:6666>
   KeepAliveTimeout 300
   MaxKeepAliveRequests 0
   AdvertiseFrequency 5
   ServerAdvertise On
   EnableMCPMReceive
   <Location />
     Require all granted
   </Location>
   <Location /mod_cluster_manager>
     SetHandler mod_cluster-manager
     Require all granted
   </Location>
 </VirtualHost>

httpd.conf

ServerRoot " / etc / httpd "

听80
包括conf.modules.d / *。conf
用户apache
小组apache
ServerAdmin root @ localhost

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot"/var/www/html"
<Directory"/var/www">
    AllowOverride None
    Require all granted
</Directory>

<Directory"/var/www/html">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files".ht*">
    Require all denied
</Files>

ErrorLog"logs/error_log"
LogLevel debug

<IfModule log_config_module>
    LogFormat"%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat"%h %l %u %t "%r" %>s %b" common
    <IfModule logio_module>
      LogFormat"%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
    </IfModule>
    CustomLog"logs/access_log" combined
</IfModule>

<IfModule alias_module>
    ScriptAlias /cgi-bin/"/var/www/cgi-bin/"
</IfModule>

<Directory"/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>    
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

EnableSendfile on

#Includes mod_cluster.conf
IncludeOptional conf.d/*.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ProxyPass / balancer://mycluster stickysession=JSESSIONID|jsessionid nofailover=On
    ProxyPassReverse / balancer://mycluster
    <Location />
        Require all granted
    </location>
</VirtualHost>

standalone-ha.xml(我仅粘贴重要部分)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?xml version='1.0' encoding='UTF-8'?>
<server name="node1" xmlns="urn:jboss:domain:3.0">

        <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
            <mod-cluster-config advertise-socket="modcluster" connector="ajp">
                <dynamic-load-provider>
                    <load-metric type="cpu"/>
                </dynamic-load-provider>
            </mod-cluster-config>
        </subsystem>

        <subsystem xmlns="urn:jboss:domain:undertow:2.0">
            <buffer-cache name="default"/>
            <server name="default-server">
               
                <http-listener name="default" socket-binding="http" redirect-socket="https"/>
                <host name="cloudflow" alias="localhost">
                    <location name="/" handler="welcome-content"/>
                    <filter-ref name="server-header"/>
                    <filter-ref name="x-powered-by-header"/>
                </host>
            </server>
            <servlet-container name="default">
                <jsp-config/>
                <websockets/>
            </servlet-container>
            <handlers>
                <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
            </handlers>
            <filters>
                <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
                <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
            </filters>
        </subsystem>

    <interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:192.168.2.240}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address:192.168.2.240}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
    <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>
    <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
    <socket-binding name="jgroups-tcp" port="7600"/>
    <socket-binding name="jgroups-tcp-fd" port="57600"/>
    <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
    <socket-binding name="jgroups-udp-fd" port="54200"/>
    <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

Node2配置(192.168.2.226)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?xml version='1.0' encoding='UTF-8'?>

<server name="node2" xmlns="urn:jboss:domain:3.0">
    <subsystem xmlns="urn:jboss:domain:modcluster:2.0">
        <mod-cluster-config advertise-socket="modcluster" connector="ajp">
            <dynamic-load-provider>
                <load-metric type="cpu"/>
            </dynamic-load-provider>
       </mod-cluster-config>
    </subsystem>

   <subsystem xmlns="urn:jboss:domain:undertow:2.0">
        <buffer-cache name="default"/>
        <server name="default-server">
           
            <http-listener name="default" socket-binding="http" redirect-socket="https"/>
            <host name="cloudflow" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </host>
        </server>
        <servlet-container name="default">
            <jsp-config/>
            <websockets/>
        </servlet-container>
        <handlers>
            <file name="welcome-content" path="${jboss.home.dir}/welcome-content"/>
        </handlers>
        <filters>
            <response-header name="server-header" header-name="Server" header-value="WildFly/9"/>
            <response-header name="x-powered-by-header" header-name="X-Powered-By" header-value="Undertow/1"/>
        </filters>
    </subsystem>


<interfaces>
    <interface name="management">
        <inet-address value="${jboss.bind.address.management:192.168.2.226}"/>
    </interface>
    <interface name="public">
        <inet-address value="${jboss.bind.address:192.168.2.226}"/>
    </interface>
    <interface name="unsecure">
        <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
    </interface>
</interfaces>

<socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
    <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:9990}"/>
    <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9993}"/>
    <socket-binding name="ajp" port="${jboss.ajp.port:8009}"/>
    <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>
    <socket-binding name="jgroups-mping" port="0" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45700"/>
    <socket-binding name="jgroups-tcp" port="7600"/>
    <socket-binding name="jgroups-tcp-fd" port="57600"/>
    <socket-binding name="jgroups-udp" port="55200" multicast-address="${jboss.default.multicast.address:230.0.0.4}" multicast-port="45688"/>
    <socket-binding name="jgroups-udp-fd" port="54200"/>
    <socket-binding name="modcluster" port="0" multicast-address="224.0.1.105" multicast-port="23364"/>
    <socket-binding name="txn-recovery-environment" port="4712"/>
    <socket-binding name="txn-status-manager" port="4713"/>
    <outbound-socket-binding name="mail-smtp">
        <remote-destination host="localhost" port="25"/>
    </outbound-socket-binding>
</socket-binding-group>

我的应用程序设置

pom.xml

1
<contextRoot>/</contextRoot>

jboss-web.xml

1
2
3
4
<jboss-web>  
    <context-root>/</context-root>
    <virtual-host>cloudflow</virtual-host>
</jboss-web>

jboss-web.xml

1
 <distributable />

我用systemctl start httpd开始httpd,然后用./standalone.sh -c standalone-ha.xml运行Wildfly。
服务器启动时没有错误,并部署了应用程序。我可以在localhost:8080

的两个节点上看到我的应用程序

在192.168.2.240:6666/mod_cluster_manager上,我可以看到以下屏幕:

screenshot

当我想在地址为http://192.168.2.240/的浏览器中获取我的应用程序,但重新启动httpd和页面404时,我得到503服务不可用-找不到几秒钟的字母。
在http://192.168.2.240:6666/上,我得到了fedora测试页。 httpd的错误日志不显示任何仅调试消息。

我认为我在部署应用程序的配置中遇到问题。


问题在命令中:ServerAdvertise On我将其更改为:ServerAdvertise On IP:6666

我还为httpd.conf中的端口80分配了整个虚拟主机部分
之后,它起作用了