日期:2014-05-16  浏览次数:22035 次

iis整合tomcat的总结

公司要缩减开支,减少服务器的数目,这样的话,tomcat和iis就要在一台服务器上运行了。网上资料挺多,觉得应该不难,于是就答应了领导。没想到实际做起来这么麻烦。

现在折腾出来了,但脑子里依然不是很清楚,因为不懂原理。所以把配置步骤记下来,有机会再好好研究。

服务器版本:server 2008.

1.tomcat的配置。

isapi_redirect.dll的位置不重要,bin里也行,cong里也可以。

workers.properties:

# 工作站的名称任意,但须注意前后一致,多个工作站以“,”分割   
worker.list=worker1   
# 工作站的类型:ajp13是IIS与Tomcat通讯协议的名称   
worker.ajp13w.type=ajp13   
# 注意此处的host需要与主机或者设置域名的名称一致   
#worker.ajp13w.host=jeecms.com  
worker.ajp13w.host=localhost   
# ajp13协议的通讯端口   
worker.ajp13w.port=8009   
# 负载因子   
worker.worker1.lbfactor=1  

uriworkermap.properties:

# 当前域名下上下文路径为jsp的请求,转发给ajp13w工作站处理   
#/jsp/*=worker1
#/jsp=worker1
 
# 当前域名下的所有请求都转发给ajp13w工作站处理  
 /*=worker1  
 
# 当前域名下,所有.jsp的请求都转发给ajp13w工作站处理  
# /*.jsp  
 
# 当前域名下,除了.html的请求,其他都转发给ajp13w工作站处理  
# !/*.html  

这两个文件弄好了,就要导入注册表,注册表的内容我不贴了。

server.xml:

这里要说明下。name="localhost"在服务器上要设置为域名。项目我是放在webapps里的。

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
		
		<Context  path=""  docBase="项目路径" debug="0" reload="true" />
		
      </Host>

2.在iis里建立网站。

1)网站路径我是指向到webapps的,应用程序池的模式设为“经典”。

2)建立jakarta的虚拟目录,然后在“处理程序映射”中添加isapi_redirect.dll的脚本映射。

3)然后在网站目录下的“ISAPI筛选器”中把isapi_redirect.dll添加进去。

4)iis根目录中,“ISAPI和CGI限制”中添加进去。
5)重启。访问测试。

需要注意的是,三个设置在不同的位置,不能重复添加,比较懂iis的人可能不会犯这样的错吧,但我是因为这个情况困扰了好久。