今天帮现场实施处理Tomcat + Apache2.2部署问题,在这里记录一下请求转发的配置:
参考下面这篇文章,我使用的是最简单的mod_proxy方式来配置, 这种方式只需要修改apache的配置文件即可
http://21nw.com/wap/index-wap2.php?p=10800
服务器环境:
- Apache Httpd 2.2, IP地址: 10.2.1.18:9090
(80端口被Plone占用)
- Tomcat 6.0, IP地址: 10.2.1.104:8080
- 操作系统: 两台机器都是WinXp
- 待转发的项目名称: biandan_bj
, 这样直接访问tomcat的地址是: http://10.2.1.104
:8080/biandan_bj
配置说明:
- 修改Apache\conf
目录下的 httpd.conf 文件, 去掉如下两行的注释 (前面的 “#”字符):
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
- 在httpd.conf文件最后加上如下两行配置:
ProxyPass /biandan_bj http://10.2.1.104:8080/biandan_bj
ProxyPassReverse /biandan_bj http://10.2.1.104:8080/biandan_bj
配置完成后访问: http://10.2.1.18:8080/biandan_bj 即可将请求转发到 10.2.1.104的 tomcat 上
注意:
ProxyPass 和 ProxyPassReverse 必须成对出现,否则在页面跳转时会从10.2.1.18转到10.2.1.104上。现场实施只配了ProxyPass,因此出错。
P.S:配置方法的弊端
这种代理方式有一个很致命的问题。jsp中不能使用根据request获取的绝对路径,必须使用当前页的相对路径,例如eclipse创建jsp页面是会自动生成如下代码:
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
这里的path和basePath都不能使用。通过request获取的ServerName是tomcat主机的ip/hostname。如果采用如下方式引入资源,肯定会造成资源无法访问的问题:
<link rel="stylesheet" href="<%=path%>/css/dy-ui.css">
<script type="text/javascript" src="<%=path%>/js/preTaskList.js"></script>
分享到:
相关推荐
在本案例中,我们将使用Apache HTTP Server作为前端代理,它会接收来自用户的HTTP请求,然后根据预设的策略将这些请求转发到后端的Tomcat实例(也称为应用服务器)上。Apache通过mod_proxy模块来实现这一功能,该...
`mod_jk.so`的使用使得Apache和Tomcat的整合更加灵活,可以根据需求进行负载均衡配置,提高系统的可用性和响应速度。同时,由于它支持AJP协议,可以有效减少网络传输的数据量,提高性能。然而,需要注意的是,随着...
基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置
- **mod_proxy**:启用Apache的mod_proxy模块,它是Apache HTTP Server的负载均衡模块,可以将请求透明地转发到Tomcat。 - **ProxyPass**和`ProxyPassReverse`指令:配置Apache的VirtualHost或Location块,使用这...
mod_proxy是Apache的一个模块,可以作为反向代理,将HTTP请求转发到Tomcat,这种方式更安全且支持HTTP/HTTPS。 配置Apache2.2+Tomcat6的步骤如下: 1. **安装Apache2.2**:在Linux系统上,可以通过包管理器(如apt...
2. **设置代理规则**:配置代理转发规则,使得 Apache 能够将请求转发到 Tomcat 服务器上处理。例如,将所有以 `/images/` 开头的请求直接发送给后端的 Tomcat 服务器处理,而其他请求则由 Apache 自己处理: ```...
总结起来,"Apache2.2 tomcat-6.0.18负载均衡与集群"是一个复杂但关键的架构,涉及到Apache的mod_proxy和mod_jk模块,以及Tomcat的集群配置。这个主题涵盖了如何利用这些工具和技术创建一个高可用、高性能的Web服务...
Apache与Tomcat结合使用时,通过AJP Proxy不仅可以实现高效的请求转发,还能够构建出高可用、高性能的应用集群。上述配置步骤涵盖了从Apache安装、配置到AJP Proxy与Tomcat集群的具体实施细节,为企业级项目提供了...
而mod_proxy模块则允许Apache作为反向代理,将HTTP请求转发到Tomcat实例,提供一种更为灵活的配置方式。 集成步骤通常包括以下环节: 1. **安装和配置Apache和Tomcat**:首先,你需要在服务器上分别安装Apache和...
在当今的企业级应用中,确保系统的高可用性和稳定性是至关重要的。这通常通过建立集群来实现,即通过部署多台服务器来提供相同的服务,以此来...这样,就完成了整个Mod_Proxy+Apache+Tomcat负载均衡与集群的配置过程。
在与Tomcat结合使用时,Apache可以接收来自用户的HTTP请求,然后根据预设策略将这些请求转发到后端的Tomcat服务器集群,以实现更高效的资源利用和故障转移。Apache可以通过模块如mod_proxy来实现这一功能。 接着,...
window下完整的apache+mod_jk或mod_proxy+tomcat配置方案,用于负载均衡及动静态页面分离。里面包含有相对应版本的apache、tomcat、mod_jk,已经多个参考文档
- **配置mod_proxy模块**:Apache2.2需要启用mod_proxy、mod_proxy_ajp模块,以便将请求转发到Tomcat。在`/etc/apache2/mods-available`目录下编辑`proxy.load`和`proxy_ajp.load`,取消注释`LoadModule`行,然后在...
### Apache和Tomcat集群配置详解 #### 一、软件准备 在进行Apache和Tomcat集群配置之前,首先需要准备所需的软件资源。 - **Apache 2.2**: - Windows平台: 从官方网站 [http://httpd.apache.org/download.cgi]...
它允许Apache将HTTP请求转发到后端的Tomcat实例,实现Web服务器和应用服务器之间的通信。通过JK模块,可以轻松地扩展Web服务,将多个Tomcat实例组合成一个集群,从而提高应用的可用性和性能。 JDK1.6是Java ...
例如,你可以设置Apache监听80端口,然后将所有对特定路径(如/yourapp)的请求转发到运行在8080端口的TOMCAT上。这样,用户只需访问http://yourdomain.com/yourapp,请求就会被透明地转发到TOMCAT。 接下来,我们...
这些设置告诉Apache将所有对`/app/*`的请求转发到本地Tomcat的8009端口。 最后,启动Apache和Tomcat服务。在命令行中,分别进入Apache和Tomcat的bin目录,执行`httpd.exe`和`catalina.bat start`。如果一切配置正确...
mod_jk负责将来自Web客户端的请求转发到后端的Tomcat实例。 2. **集群概念**:在集群配置中,多个服务器通过共享资源和任务分配,共同提供服务。在Apache和Tomcat的集群配置中,这意味着请求可以被分发到多个Tomcat...