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/访问,页面输出如下:
如 使用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/访问,页面输出如下:
相关文章推荐
- Apache FileUpload文件上传
- XAMPP Apache服务器解析php页面汉字乱码的解决
- Apache 伪静态设置
- Apache开启不了------The requested operation has failed!
- 测试使用的apache配置服务器
- Windows下Apache的下载、安装和配置
- 第二章 Apache Hadoop2 linux下的编译
- Mac 配置 Apache .php
- 解决apache mina java.io.IOException: Connection timed out问题
- Atitit. Class  元数据的反射操作 api apache  工具
- Atitit. Class 元数据的反射操作 api apache 工具
- Atitit. Class 元数据的反射操作 api apache 工具
- zabbix监控apache
- Apache设置局域网内ip地址访问
- Ubuntu14.04 LTS下修改apache2默认端口
- [转]Windows7 64bit下配置Apache+PHP+MySQL
- apache+php安装(centos6.5)
- 安装xampp后apache不能启动解决方法
- Apache windows安装
- Apache Camel中的recipientList和routingSlip的区别?