wildfly 9.0 standalone cluster with httpd2.4. and mod_cluster1.3.1
我想设置一个具有2个节点的独立Wildfly集群。为此,我设置了2个fedora22虚拟机。在两个节点上,我都安装了Wildfly 9.0.0.Final,并使用
在两台计算机上,我都禁用了防火墙和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 /> |
我用
服务器启动时没有错误,并部署了应用程序。我可以在localhost:8080
的两个节点上看到我的应用程序
在192.168.2.240:6666/mod_cluster_manager上,我可以看到以下屏幕:
当我想在地址为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分配了整个虚拟主机部分
之后,它起作用了