`
jackson1225
  • 浏览: 61009 次
社区版块
存档分类
最新评论

Apache2.2.4+Tomcat5.5.7的整合

阅读更多

1.首先下载tomcat5.5.7并解压; 设置CATALINA_HOME环境变量指向tomcat路径;

2.使用APR使得Tomcat的性能提高

Windows下的安装配置
1)http://tomcat.heanet.ie/native/ 下载编译好的 tcnative-1.dll 文件,也可以下载tomcat-native.zip自己进行编译
2)把tcnative-1.dll文件放在Tomcat的bin目录下.

3.下载apache_2.2.4-win32-x86-no_ssl.msi并安装;

下载:http://apache.mirrors.tds.net/httpd/binaries/win32/apache_2.2.4-win32-x86-no_ssl.msi

4.因为apache2.2.4采用mod_proxy连接apache与tomcat,所以配置非常简单。这里我们只需要改动D:\WEBSERVER\Apache2.2\conf\ 下的  httpd.conf即可:

在最后加上:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

ProxyPass  /  ajp://127.0.0.1:8009/

ProxyPassReverse  /  ajp://127.0.0.1:8009/

5.测试:
建立两个测试文件:

test.html 和 test.jsp

test.html:

  1. >  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE> test.html TITLE>  
  5. HEAD>  
  6.   
  7. <BODY>  
  8. <h1>Hello html!h1>  
  9. BODY>  
  10. HTML>  

test.jsp
<!---->

  1. <%@ page contentType="text/html; charset=GBK" %>  
  2. <HTML>  
  3. <HEAD>  
  4. <TITLE> test.html TITLE>  
  5. HEAD>  
  6.   
  7. <BODY>  
  8. <h1>  
  9. <%out.println("Hello JSP!");%>  
  10. h1>  
  11. BODY>  
  12. HTML>  


将两个测试文件放在D:\app\Tomcat5.5\webapps\ROOT 下,然后IE输入:

http://localhost/test.jsp, 显示“Hello JSP!”,OK了 输入:

http://localhost/test.html,显示“Hello html!”,OK了!

 这主要是因为apache把所有80端口的请求都转发给了tomcat的8009(ProxyPass  /  ajp://127.0.0.1:8009/    ;ProxyPassReverse  /  ajp://127.0.0.1:8009/),由tomcat处理请求,这时的apache只相当于一个转发器的作用,由tomcat解析。此时要是关闭tomcat,再访问还会出现Service Temporarily Unavailable 错误!

   如果将请求中静态的页面交给apache处理,动态请求交给tomcat处理。因为他们在各自的处理效率上比较高,这也是整合apache和tomcat的一个作用。

    这里我们是要将html交给apache处理,而把jsp转发给tomcat处理。

在最后httpd.conf加上:

ProxyPass /html/  !

表示 /images/  下的请求不转发,原来的(ProxyPass  /  ajp://127.0.0.1:8009/,ProxyPassReverse  /  ajp://127.0.0.1:8009/
)配置下的“  /  ” 表示全部转发到8009端口(tomcat监听的)。所以这时只要把不想转发到tomcat处理的放在D:\app\Apache2.2\htdocs 下 名为html文件夹的下面即可。比如:我们把

test.html放在D:\app\Apache2.2\htdocs\html 下,

test.jsp放在D:\app\Tomcat5.5\webapps\ROOT下,在分别

http://localhost/html/test.html

http://localhost/test.jsp

测试发现,此时apache并找不到html下的test.html,而应该把

ProxyPass /html/  !

放在

ProxyPass  /  ajp://127.0.0.1:8009/

ProxyPassReverse  /  ajp://127.0.0.1:8009/

之前

就都可以显示我们需要的结果了!

Apache tomcat各司其职。

这里都只是测试,具体项目,appache服务器的其他设置都可以通过在httpd.cong里修改,如改变路径等。顺便说一下:这里的Apache tomcat是通过Mod-proxy连接起来的。Mod-proxy的缺点是,当其中一台tomcat停止运行的时候,apache仍然会转发请求过去,导致502网关错误。但是只要服务器再启动就不存在这个问题。

Mod-proxy优点是.可以只将Apache置于公网,节省公网IP地址资源。可以通过设置来实现Apache专门负责处理静态网页,让Tomcat专门负责处理JSP和servlet等动态请求。缺点是:如果前置Apache代理服务器停止运行,所有集群服务将无法对外提供。
   

6,最终测试
启动TOMCAT,然后启动APPACHE2。
在IE输入http://localhost/myapp/test.jsp测试通过。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics