IIS 与 TOMCAT 整合 ,共用80端口


Warning: Undefined array key "HTTP_REFERER" in /www/wwwroot/prod/www.enjoyasp.net/wp-content/plugins/google-highlight/google-hilite.php on line 58
查询端口当前被哪个进程占用:netstat -ano|findstr 80
IIS 中一定要设置默认页,大多数不能打开网站都与此有关

 
 
原理:IIS,TOMCAT都要用80端口,同一时间只能一个服务器用,采用的方法是将这个80端口分配给IIS,当是tomcat类型的请求信息时,如:*.action. *.jsp就将这些请求转发给TOMCAT服务器,由其负责此类网站的运行。其它的如asp.net网站就默认由IIS来处理。

前提:要在IIS上安装一个筛选器,由这个筛选器来完成信息的分发。如传来www.test.com/index.action网站的信息,先据DNS找到服务器地址,之后通过80端口进入IIS,在IIS上查找主机头为www.test.com/index.action的网站,假如在此网站上配置了筛选器,那么此时筛选器接管传来的请求,读取uriworkermap.properties查找传来的请求是否要传给tomcat, 如在uriworkermap.properties配置了*.action = worker1,那么就在workers.properties查找worker1,若存在此worker实体,就创建, 因worker实体实际上是tomcat的实例,那么完成了index.action由tomcat来执行,完成信息的分发.

步骤:

1, 准备工作

2,创建uriworkermap.properties, workers.properties, isapi.log文件,

3,注册表操作

4,IIS配置筛选器

1, 准备工作

(1) 筛选器下载:  32位机版本为:

http://tomcat.apache.org/dev/dist/tomcat-connectors/jk/binaries/win32/jk-1.2.28/isapi_redirect-1.2.28.dll , 将isapi_redirect-1.2.28.dll 在bin下建一jk文件夹放置(位置无关系)

(2)配置一个测试网站, WINDOWS\system32\drivers\etc 的hosts内增加

127.0.0.1        www.test.com

(3)tomcat: conf\server.xml内Engine中加入:



 注: appBase="G:\Share\lj"为java网站所在的路径, 实际内容要放在lj下的ROOT文件夹下

 测试:运行tomcat, IE输入:www.test.com:8080

2,创建文件:

(1)uriworkermap.properties 内容:

     /*.*=worker1    #所有请求,无论是*.jsp, *.gif类型的全部交由tomcat来处理。

此时对于所有来自www.test.com的请求都转由tomcat来处理!

(2)workers.properties

workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 6.0

workers.java_home=C:\Program Files\Java\jdk1.6.0_02

ps=\

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

worker.worker1.connection_pool_size = 500   

    #默认给IIS为250,或出现your connection_pool_size is probably less than the threads in your web server!因2003 server最大连接数为1000

  (通过单击"开始"->控制面板->授权查看),故要相应的设置大一些。 而minsize = (pool_size + 1)/2

worker.worker1.connection_pool_minsize = 250
注: worker1的类型为ajp13,参考tomcat 下server.xml中的  可知worker1将完成与IIS与TOMCAT联系。

(3)isapi.log 为一空文件.

 (4) 文件放置:uriworkermap.propertie, workers.properties,放在Tomcat的conf文件夹下。

isapi.log放置在Tomcat的logs文件夹下。

3,注册表操作

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]

"log_file"="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\logs\\isapi.log "

"log_level"="debug"

"worker_file"="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\workers.properties"

"worker_mount_file"="C:\\Program Files\\Apache Software Foundation\\Tomcat 6.0\\conf\\uriworkermap.properties"

"extension_uri"="/jakarta/isapi_redirect-1.2.28.dll"

注:"log_level"="debug"是测试时使用,可在isapi.log中看到IIS处理信息,在发布时可改为"log_level"="realease"

4,IIS配置筛选器

(1)IIS添加网站:TEST, 目录可以指向一个空目录,主机头为:www.test.com

(2)右键" TEST "-> 新建->虚拟目录 。名字固定jakarta,目录是isapi_redirect-1.2.28.dll.然后在该虚拟目录属性中将其执行权限改为"脚本和可执行程序"。

右键网站TEST ->属性->ISAPI筛选器。名字:jakarta.文件就isapi_redirect-1.2.28.dll.

注:若是win servre2003 需要添加Web服务扩展。在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键选择“添加一个新的Web服务扩展”,
弹出的框中扩展名填jakarta, “要求的文件”选“添加”然后找到你的isapi_redirector.dll后“确定”。 “设置扩展状态为允许”也打上勾,确定。

重启IIS, TOMCAT, 配置成功时TEST ->属性->ISAPI筛选器 中的jakarta 状态:一个向上的箭头,优先级: 高

测试:IE输入:www.test.com