当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

Apache2.2和Tomcat6整合

发表于: 2011-03-18   作者:baalwolf   来源:转载   浏览次数:
摘要: Apache2.2和Tomcat6整合   Apache和Tomcat同是Apache基金会下面的两个项目。   一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的6.0.X系列实现Servlet 2.4/JSP 2.0Spec。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要一个连接器,这个连接器的

Apache2.2和Tomcat6整合
  Apache和Tomcat同是Apache基金会下面的两个项目。
  一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的6.0.X系列实现Servlet 2.4/JSP 2.0Spec。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要一个连接器,这个连接器的作用就是把 所有Servlet/JSP的请求转给Tomcat来处理。在Apache2.2之前,一般有两个组件可选择。mod_jk和mod_jk2。后来 mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。要指出的是mod_jk支持 Apache 1.x和2.X系列。
  不过,自从Apache2.2出来后,你又多了种选择,那就是proxy-ajp.大家知道Apache里的proxy模块,可以实现双向代理功能,功能 非常强大。其实从连接器的实现原理上来说,用proxy模块来实现是非常自然的。proxy模块的功能无非就是把相关的请求发给特定的主机再返回结果。那连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。而且所FreeBSD邮件列表上说,使用proxy-ajp要比 mod_jk的效率要高。就我一个外行来看,至少使用Apache自带模块,要比另外编译的来得可靠。
  apache2.2和tomcat5.5是一个不错的组合,可以作为开发环境或者是工作服务器。在配置前需要下载以下几个文件:
1.下载JDK:版本jdk1.6.0_10.exe
2.下载apache2.2:版本:apache_2.2.11-win32-x86-no_ssl.msi       http://httpd.apache.org/
 3.下载tomcat6 :版本apache-tomcat-6.0.18.exe
  一、安装和配置JDK
  JDk的安装(参照Jsp开发环境配置.doc),但一定不要忘了设环境变量。
  二、安装和测试apache
  在安装前如已安装了IIS,请先停止IIS服务。因为IIS和apache都默认使用80端口,否则会冲突。
  同样直接运行安装apache_2.2.11-win32-x86-no_ssl.msi,建议选择简单的路径,如D:\ apache2.2。安装时会要求输入一些关于这台服务器的信息,如域名、管理员邮箱,这些信息将会加入到httpd.conf文件中。
  安装完配置httpd.conf文件,在D\:apache2.2\conf下
  用文本编缉器打开httpd.conf,在DirectoryIndex index.html后添加index.jsp
  测试,在IE中输入http://localhost/,如果apache工作应该可以看到"It works!"这样的页面。
  三、安装和测试tomcat
  直接运行安装tomcat,安装路径为D:\tomcat 6.0
  安装完后添加环境变量TOMCAT_HOME,变量值为"D:\Tomcat 6.0"(参照Jsp开发环境配置.doc)最后测试tomcat,因为tomcat默认使用了8080端口,所以在IE输入http://localhost:8080,正常工作会看见一只小猫的页面。
  四、整合apache和tomcat
  网上很多是通过mod_jk来整合的,由于apache2.2本身已经支持tomcat了,所以这里用proxy来整合tomcat,先把apache和tomcat都停止了。然后打开(d:\apache2.2\conf)httpd.conf文件,把
  LoadModule proxy_module modules/mod_proxy.so
  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
  前面的#号去掉,在httpd.conf文件最后添加

  #!号前有空格

  ProxyPass /images/ !

  #ajp前有空格

  ProxyPass / ajp://127.0.0.1:8009/
  ProxyPassReverse / ajp://127.0.0.1:8009/
  上面几名只是对apache进行简单的优化。
  五、最后测试整合后的apache+tomcat
  启动apache,再启动tomcat,准备以下代码的jsp文件,以便测试。
<%@ page contentType="text/html;charset=gb2312" %>
<HTML>
<HEAD>
<TITLE>JSP测试页面</TITLE>
</HEAD>
<BODY>
<%out.println("<h1>Hello World! </h1>");%>
</BODY>
</HTML>
  保存为test.jsp
  在D:\tomcat 6.0\webapps\ROOT下新建一个文件夹test,并把test.jsp放在里面。
  在IE中输入http://localhost:8080/test/test.jsp
  再输入http://localhost/test/test.jsp
  如果两次都显示Hello World!说明已经成功整合了。

Apache2.2和Tomcat6整合

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
1.下载 在http://tomcat.apache.org/connectors-doc/ 下载JK-1.2.30 mod_jk-1.2.30-httpd-2.2.3.so
要执行php文件,必须得安装服务器: 我这里安装Apache2.2; 当安装网上说明安装完后,电脑右下角出
众所周知,Apache是用来架设Web服务器的软件,也是当今最流行的Web服务器软件,在Linux系统中,应用
Installing the apache2.2 service <OS 5>拒绝访问. :Failed to open the WinNT service mana
得益于mod_aspdotnet.so,这个支持apache2.2的不好找,附上 http://files.cnblogs.com/xin478/mod_a
分享我的文章 程序员赚钱之路探索 今天晚上正式开始学习PHP 在网上找了一篇 PHP 的简易教程 PHP Tuto
分享我的文章 程序员赚钱之路探索 今天晚上正式开始学习PHP 在网上找了一篇 PHP 的简易教程 PHP Tuto
nio不太好理解,tomcat6在nio方面做了不小的支持,从那里可以学习到如何用好nio,下面是几张在网上
虽然配置TOMCAT的Java环境变量后,用服务启动tomcat还是会报错。 因为服务启动后,没有使用Java的环
在Win7系统中,遇到此错误提示:Unable to open the service ‘tomcat6/5’ -----------------------
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号