Apache和Tomcat同是Apache基金会下面的两个项目,一个是HTTP WEB服务器,一个是应用服务器
在我们生产的环境中,往往需要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自带模块,要比另外编译的来得可靠
去掉#
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
在httpd.conf后面加:
ProxyPass / ajp://127.0.0.1:8009/
ProxyPa***everse / ajp://127.0.0.1:8009/
其中:tomcat server.xml配置文件
< !– Define an AJP 1.3 Connector on port 8009 –>
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />
http://localhost:8080/test/test.jsp
http://localhost/test/test.jsp
访问的结果输出结果一样,即表示整合成功