apache2.2+tomcat配置

Apache和Tomcat同是Apache基金会下面的两个项目。

一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的5.5.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自带模块,要比另外编译的来得可靠。

在配置前需要下载以下几个文件:

  1.下载JDK

  2.下载apache2.2

  3.下载tomcat

一、安装和配置JDK

JDk的安装就不多说了,但一定不要忘了设环境变量。

二、安装和测试apache

在安装前如已安装了IIS,请先停止IIS服务。因为IIS和apache都默认使用80端口,否则会冲突。

同样直接运行安装。安装时会要求输入一些关于这台服务器的信息,如域名、管理员邮箱,这些信息将会加入到httpd.conf文件中。

测试,在浏览器中输入http://localhost/,如果apache工作应该可以看到"It works!"这样的页面。

三、安装和测试tomcat

直接运行安装tomcat

安装完后添加环境变量TOMCAT_HOME,变量值为tomcat的根目录

最后测试tomcat,因为tomcat默认使用了8080端口,所以在浏览器中输入http://localhost:8080,正常工作会看见一只小猫的页面。

四、整合apache和tomcat

网上很多是通过mod_jk来整合的,由于apache2.2本身已经支持tomcat了,所以这里用proxy来整合tomcat,先把apache和tomcat都停止了。然后打开httpd.conf文件,把

  LoadModule proxy_module modules/mod_proxy.so

  LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

  前面的#号去掉,在文件最后添加

  ProxyPass /images/ !

  ProxyPass / ajp://127.0.0.1:8009/

  ProxyPassReverse / ajp://127.0.0.1:8009/

  上面几名只是对apache进行简单的优化。

     添加欢迎页面

在DirectoryIndex index.html后添加index.jsp

五、最后测试整合后的apache+tomcat

准备以下代码的jsp文件,以便测试。

<%@ page contentType="text/html;charset=UTF-8" %>
    <HTML>
      <HEAD>
        <TITLE>JSP测试页面</TITLE>
      </HEAD>
     <BODY>
        <%out.println("<h1>Hello World! </h1>");%>
      </BODY>
    </HTML>

 

保存为index.jsp

在TOMCAT_HOME/webapps下新建一个文件夹test,把TOMCAT_HOME/webapps/ROOT下的WEB-INF拷贝到test目录,并把index.jsp放在test目录里面。

启动apache和tomcat

在浏览器中输入http://localhost:8080/test

再输入http://localhost/test

如果两次都显示Hello World!说明已经成功整合了。

文章原始地址:http://blog.csdn.net/luj999/archive/2008/01/31/2074891.aspx

你可能感兴趣的:(apache)