win03iis6与tomcat68共用80端口

本文详细介绍了如何通过使用isapi_redirect插件实现IIS与Tomcat的整合,以便两者能共用80端口。包括下载所需DLL文件、配置注册表、设置Tomcat与IIS的相关配置文件等步骤。

下列步骤前请先保证http://127.0.0.1/能够访问IIS下部署的80站点,http://127.0.0.1:8080/能够正常打开tomcat 

1.下载isapi_redirect.dll

地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/

32位使用:tomcat-connectors-1.2.40-windows-i386-iis.zip

64位使用:tomcat-connectors-1.2.40-windows-x86_64-iis.zip

2.配置isapi_redirect.

a.把解压出来的isapi_redirect.dll放在tomcat安装目录下的conf文件下

b.建立注册表文件AddIsapi.reg,并执行,文件内容如下:

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. Windows Registry Editor Version 5.00   
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]   
  3. "log_file"="D://Tomcat 8.0//logs"   
  4. "log_level"="debug"   
  5. "worker_file"="D://Tomcat 8.0//conf//workers.properties"   
  6. "worker_mount_file"="D://Tomcat 8.0//conf//uriworkermap.properties"   
  7. "tomcat_start"="D://Tomcat 8.0//bin//tomcat.bat start"   
  8. "tomcat_stop"="D://Tomcat 8.0//bin//tomcat.bat stop"   
  9. "extension_uri"="/jakarta/isapi_redirect-1.2.27.dll"  
请注意替换内容中 D://Tomcat 8.0,替换成实际的tomcat安装路径

c.在Tomcat安装路径下的/conf文件夹下分别创建:

isapi_redirect.properties

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. extension_uri=/jakarta/isapi_redirect.dll    
  2. log_file=D:/Tomcat 8.0/logs/isapi_redirect.log    
  3. log_level=debug    
  4. worker_file=D:/Tomcat 8.07/conf/workers.properties    
  5. worker_mount_file=D:/Tomcat 8.0/conf/uriworkermap.properties    

注意,后面的的testiistomexamples分别代表Java项目的命名,需要共用80端口的项目都需在此列出

workers.properties

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. workers.tomcat_home=D:\Tomcat 8.0\    
  2. workers.java_home=C:\Program Files\java\jdk.1.7.0_67    
  3. ps=/    
  4.     
  5. #testiistom、examples为访问Tomcat服务器的一个标签,     
  6. #对应【tomcat_home】/webapps/文件夹下面的testiistom和examples文件夹,可以设置多个,用逗号隔开    
  7. worker.list=testiistom,examples    
  8.     
  9. worker.testiistom.type=ajp13    
  10. worker.testiistom.host=localhost    
  11. worker.testiistom.port=8009    
  12. worker.testiistom.lbfactor=1    
  13.     
  14.     
  15. worker.examples.type=ajp13    
  16. worker.examples.host=localhost    
  17. worker.examples.port=8009    
  18. worker.examples.lbfactor=1    
uriworkermap.properties

[html]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. /testiistom/*=testiistom    
  2. /examples/*=examples    

我们部署项目时很多时候需要同时使用tomcatiis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,以下是具体步骤:

实现tomcat6.0iis6共用80端口的思路其实就是利用iis可以建立多个网站的功能,将tomcat下的项目添加为iis的一个站点,再使用一个可以redirect的插件,将iis中指向此站点的请求交给tomcat来处理。

1  首先,需要一个可以实现redirect的插件isapi_redirect,可以到网上下载,我使用的是isapi_redirect-1.2.14.dll

 

2、然后,在随便哪个地方建立一个注册表编辑文件.reg,并输入以下内容:

Windows Registry Editor Version 5.00        

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation]

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

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

"extension_uri"="/jakarta/isapi_redirect.dll"         /*文件名称可以改,路径最好别改,因为要和iis中的筛选器配置对应*/

"worker_file"="C:\\Tomcat 6.0\\conf\\workers.properties"   /*具体由自己的路径定/

"worker_mount_file"="C:\\Tomcat 6.0\\conf\\uriworkermap.properties"   /*同上*/

"log_file"="C:\\Tomcat 6.0\\logs\\isapi.log"

"log_level"="info"

 /*以上红色的地方以tomcat的实际所在位置为准*/

3、在tomcatconf文件夹下建立workers.properties文件,并输入以下内容:

worker.list=ajp13

worker.ajp13.type=ajp13

worker.ajp13.host=localhost

worker.ajp13.port=8009     

 

4、同样建立uriworkermap.properties内容如下

/*.jsp=ajp13

/*.do=ajp13

/*=ajp13

 

5、在tomcatlog目录下建立isapi.log文件,内容为空即可

 

6Tomcat6.0目录下新建jakarta文件夹,然后把isapi_redirect.dll放入其中.

 

7、配置tomcatserver.xml文件

<Engine></Engine>节点下,修改

<Host name="www.xxxx.com"  appBase="webapps"

            unpackWARs="true"

            xmlValidation="false" xmlNamespaceAware="false">

                   <Context path="" docBase="qms" debug="0" reloadable="true" />

      </Host>

的内容,name为网站要设的域名,下面在iis里新建网站的时候域名要和这个一样;docBase的值为网站文件夹,即”.. Tomcat 6.0\webapps\”下项目文件夹的名称;

8、运行.reg文件, 并打开HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0,检查右边项目中是否包含如下项:

 

extension_uri /jakarta/isapi_redirect.dll (jakartaIIS下的虚拟目录)

log_file c:\Tomcat6.0\logs\isapi.log (指定JK插件使用的日志文件)

log_level debug (指定日志级别)

worker_file c:\Tomcat6.0\conf\workers.properties (指定JK插件的工作文件)

worker_mount_file c:\ Tomcat6.0\conf\uriworkermap.properties (指定JK插件的URL映射)

如果没有上述项,则建立相关项和相关值

 

9、以上为tomcat配置;

10、打开管理工具”-“Internet信息服务(IIS)管理器,展开本地计算机,选择网站,如图:

在右侧点右键,新建-网站,点击下一步,输入网站描述(内容随便),点击下一步,输入主机头,如图:

  

主机头是访问的域名。要和tomcatconf/service.xml中的Host 中的name相对应

 

下一步,选择主目录(tomcatwebapps里的项目根目录,只指到webapps这个文件夹也是可以的),勾选运行匿名访问,如图:

 

下一步,在允许权限里,勾选执行…”选项,以支持isapi_redirect,如图:

 

下一步,完成网站新建。

11、在新建的网站上点右键选属性,在弹出的页框里选择“ISAPI筛选器,点添加,筛选器名称填jakarta,可执行文件中填入isapi_redirect-1.2.14.dll的绝对路径(包括文件名),如图:

 

一路确定。

12、再在此网站上右键,选择新建>“虚拟目录,别名填jakarta,下一步,路径选为你的isapi_redirector.dll存放的目录(不包括文件名),下一步,权限中记得把执行那项打勾,好了,完成。

13、应用程序扩展名映射:在主目录里点配置,在跳出的窗口应用程序配置中增加.jsp应用程序扩展名映射,可执行文件指向isapi_redirect-1.2.14.dll文件,动作限制为GET,HEAD,POST,DEBUG (手动输入)如图:

 

14、在“Internet信息服务管理器网站中的“Web服务扩展上点右键选择添加一个新的Web服务扩展

 

 弹出的框中扩展名填JSP(无所谓的,自己随便设置名称)要求的文件添加然后找到你的isapi_redirector.dll确定设置扩展状态为允许也打上勾,确定。添加之后,如图:

 

15、重启IIS,重启Tomcat.

重启IIS的方法: IIS中选择 本地计算机项 右键/所有任务/重新启动 IIS(R)

 

点击确定就可以重起

至于tomcat的重起方法在这就不用说了

16、检查新建的网站是否加载成功isapi_redirect-1.2.14.dll文件,在网站的属性里,切到筛选器页,

如图则加载成功。

如果不出现箭头或者出现红色的向下箭头就说明加载不失败,解决的方法就是给jakarta赋于权限,在相应的网站下选择jakarta/权限   如下图:

点击权限进入如下图:

至少要有如上图中的4个用户,如果不全就添加,用户可以多个,看情况而定的。

如果设置完后还是未能加载就再重起IIS,

以下为tomcat中的conf/service.xml 文件的部分配置:

注意:tomcat是用60000(非80端口),而IIS中的用80端口。

 

操作完以上操作后IIStomcat就算整合完成了。

在这个过程中可能会遇到一些问题:

1., 起动tomcat时出现:

  

出现这个问题是由于端口被占用的原因,就是ISS中有网网站和tomcat的监听端口相同冲突了(我这里用的是60000),改变它们的监听端口就可以了。

2,如果在IIS中浏览时出现  函数不正确。就得把isapi_redirect-1.2.14.dll换掉,要用安装版的,注意在IIS中有指向isapi_redirect-1.2.14.dll的路径要相应的指向它的安装路径中下的conf下的文件isapi_redirect.dll

17、测试http:// sysokean.qms

http://blog.youkuaiyun.com/woai671/article/details/53641551
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值