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自带模块,要比另外编译的来得可靠。
apache2.2和tomcat5.5是一个不错的组合,可以作为开发环境或者是工作服务器。在配置前需要下载以下几个文件:
1.下载jdk
http://192.18.108.228/ecom/ecomticketservlet/begin7cf7e6a4bcb54064e5d90fcce00d7048/-2147483648/1579524843/1/732086/731822/1579524843/2ts+/westcoastfsend/jdk-1.5.0_07-oth-jpr/jdk-1.5.0_07-oth-jpr:2/jdk-1_5_0_07-windows-i586-p.exe
2.下载apache2.2
http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi
3.下载tomcat5.5.17
http://apache.justdn.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe
一、安装和配置jdk
jdk的安装就不多说了,但一定不要忘了设环境变量。
二、安装和测试apache
在安装前如已安装了iis,请先停止iis服务。因为iis和apache都默认使用80端口,否则会冲突。
同样直接运行安装apache_2.2.2-win32-x86-no_ssl.msi,建议选择简单的路径,如d: apache2.2。安装时会要求输入一些关于这台服务器的信息,如域名、管理员邮箱,这些信息将会加入到httpd.conf文件中。
安装完配置httpd.conf文件,在d:apache2.2conf下
用文本编缉器打开httpd.conf,在directoryindex index.html后添加index.jsp
测试,在ie中输入http://localhost/,如果apache工作应该可以看到"it works!"这样的页面。
三、安装和测试tomcat
直接运行安装tomcat,安装路径为d: omcat5.5
安装完后添加环境变量tomcat_home,变量值为"d: omcat5.5"
最后测试tomcat,因为tomcat默认使用了8080端口,所以在ie输入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进行简单的优化。
五、最后测试整合后的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: omcat5.5webappsroot下新建一个文件夹myjsp,并把test.jsp放在里面。
在ie中输入http://localhost:8080/myjsp/test.jsp
再输入http://localhost/myjsp/test.jsp
如果两次都显示hello world!说明已经成功整合了。
新闻热点
疑难解答