基于Windows 2003 Server + Apache2.2.8 + Tomcat6.0.16整合.
1. 下载安装Apache Http Server Windows 版本: http://httpd.apache.org/download.cgi
2. 下载Tomcat(解压即安装): http://tomcat.apache.org/download-60.cgi
3. 下载Apahce与Tomcat连接器mod_jk-1.2.26-httpd-2.2.4.so: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/,下载后拷到Apache安装目录\modules下
4. 编写Apache与Tomcat连接的属性文件workers.properties,具体如下:
worker.list=controller
worker.tomcat1.port=8009
worker.tomcat1.host=10.1.20.76
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1
worker.tomcat2.port=8009
worker.tomcat2.host=10.1.20.31
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#worker.tomcat2.activation=disabled
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2
worker.controller.sticky_session=true
worker.controller.sticky_session_force=true
这个文件中写明了,前端的Apache挂了两个Tomcat服务器,这样可以实现负载均衡的功能,并且响应请求为1:1
将workers.properties文件拷贝到apache安装目录下的\conf即可.
5. Tomcat配置
如果想让Tomcat响应Apache转发过来的动态应用请求,就必须启用AJP协议,默认情况,Tomcat已经启用响应了,所以不必过多配置此项,关键是关于应用目录的设置,需要在<Host name="localhost" appBase="D:/webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false"/>中写明appBase的属性值.
6. Apache的http.conf配置
1) Listen 80无需改变
2) 增加LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so行
3) DocumentRoot "D:/webapps"属性值写成这样,与Tomcat中的host中的appBase属性值一样
4) 增加
<IfModule mod_jk.c>
JkWorkersFile conf/workers.properties //workers.properties文件相对目录
JkLogFile logs/mylogs.log //自定义日志文件
JkLogLevel info
JkMount /mywebApp/servlet/* controller //mywebApp请求由controller响应
JkMount /*.jsp controller //对于.jsp文件的请求由controller响应
</IfModule>
5) 先启动Tomcat,然后再启动Apache,访问http://localhost/mywebApp/test.jsp,就可以了.
以上也是本人初学Apache与Tomcat的整合,其中还有好多Apache的功能还不清楚,上面是在同一台机器上配置的,如果在两台机器上,那么mywebApp应用下的图片与目录该如何布署呢.暂时还没想明白.......