如 使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境,使用Apache httpd(mod_jk)和JBoss构架高可用集群环境 以及 使用Apache httpd(mod_proxy)和JBoss构架高可用集群环境 中所描述的,我们一般通过位于 JBoss 集群之前的 Apache 服务器作为负载均衡器,构建集群应用,这种情况,一个HTTP的请求大致如下图所示:
本文演示如何在 Apache 服务器复制跟路径到特定应用 myapp。如下演示基于 Linux 服务器(Linux 2.6.43.8-1.fc15.i686.PAE),Apache 服务器 2.22,JBoss 服务器 7.1,具体分以下几步:
1. 部署 myapp.war 到 JBoss(使用4种方式部署应用到JBoss7/WildFly), myapp.war 中只包括 index.html,内容包含一行字符串如下:
This is index.html under myapp
2. 配置 Linux 服务器,编辑 /etc/hosts 如下:
127.0.0.1 localhost 127.0.0.1 example.com
3. 配置 Apache 服务器,使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境,使用Apache httpd(mod_jk)和JBoss构架高可用集群环境 以及 使用Apache httpd(mod_proxy)和JBoss构架高可用集群环境 中任何一种配置 Apache 服务器与 JBoss之间的转发,配置完成通过 http://localhost/myapp 可以访问部署与 JBoss 的 myapp,即字符串“This is index.html under myapp”输出到界面
4. 配置 Apache 服务器,添加 mod_rewrite 转发配置,编辑 httpd.conf,添加如下配置:
RewriteEngine On RewriteCond %{REQUEST_URI} !^/myapp/ RewriteRule ^/(.*) /myapp/$1 [PT]