您的位置:首页 > 运维架构 > Apache

JBoss 系列九十一:JBoss 构建的高可用集群环境使用 Apache 的 mod_rewrite 转发根路径到特定应用

2015-09-07 23:08 806 查看
转自:http://blog.csdn.net/kylinsoong/article/details/19195065

使用Apache httpd(mod_cluster)和JBoss构架高可用集群环境,使用Apache
httpd(mod_jk)和JBoss构架高可用集群环境 以及 使用Apache httpd(mod_proxy)和JBoss构架高可用集群环境 中所描述的,我们一般通过位于 JBoss 集群之前的
Apache 服务器作为负载均衡器,构建集群应用,这种情况,一个HTTP的请求大致如下图所示:



myapp 部署于 JBoss, JBoss 监听于 8080 端口
Apache 监听于 80 端口,可转发请求到 后台 JBoss
域名解析器根据相关的域名如 example.com 可解析到Apache服务器,例如,用户通过 http://example.com/myapp 可以访问部署于 JBoss的应用myapp

如图中,终端应用在浏览器中输入URL http://example.com/myapp,域名解析服务器通过 example.com 解析到 Apache 服务器(IP)对应的物理机器,Apache 根据URL中后缀 myapp 来访问应用。但是在实际应用中的URL后缀都没有应用名,即通过 http://example.com 来访问 myapp,如下图所示:



本文演示如何在 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,内容包含一行字符串如下:

[java] view
plaincopy





This is index.html under myapp

启动 JBoss 后可以通过 http://localhost:8080/myapp 访问,页面出现字符串“This is index.html under myapp”。

2. 配置 Linux 服务器,编辑 /etc/hosts 如下:

[java] view
plaincopy





127.0.0.1 localhost

127.0.0.1 example.com

这样在本机可以通过 example.com 访问到本机运行的 Apache 服务器。

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,添加如下配置:

[html] view
plaincopy





RewriteEngine On

RewriteCond %{REQUEST_URI} !^/myapp/

RewriteRule ^/(.*) /myapp/$1 [PT]

配置完成,重启 Apache 服务器,通过http://example.com/访问,页面输出如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: