开发者社区> 问答> 正文

2008R2IIS7.5与Tomcat整合详细总结版


一.需要的软件:
(1)  Jre 或者JDK  其中JKD中包含jre
JRE 即是Java Runtime Envirnment   java的运行环境
JKD 即是Java Development kit  java 开发环境
虽然文档介绍安装jre与jdk都可以,但在后面的注册表中用到了jdk的路径
所以使用版本jdk-7u3-windows-i586.exe
目前没有测试将注册表路径里面的jdk 改为jre是否可行
官网下载连接http://www.oracle.com/technetwork/java/javase/downloads/index.html

(2)  Tomcat
apache-tomcat-7.0.26.exe
官网下载连接http://tomcat.apache.org/download-70.cgi

(3)  tomcat-connectors 即是 isapi_redirect.dll  用于 tomcat于IIS的整合
官网下载连接
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/


二.安装
首先安装jre或者jdk 我安装的是jdk, 安装需要知道jdk 和jre的目录
设置为C:\Java\jdk 与C:\Java\jre      其他全部默认下一步即可
  
其次安装tomcat 也需要选择路径 我设置的C:\Tomcat7   还需要选择jre的安装目录
即是上边的C:\Java\jre

注意: 此环境是测试用选择的是C:\Tomcat7,真实生产环境上线不建议tomcat安装到
C盘,如果tomat 出错或者jsp程序出错时会产生非常大的日志。 可将系统盘沾满

安装iis 非常简单不在描述……….

三.配置
接下来的步骤需要仔细,出错了比较难排查
1将下载好的isapi_redirect.dl 放到指定目录C:\Tomcat7\bin\win32\i386\isapi_redirect.dll
win32\i386\ 这两级目录自己创建,这个目录需要iis 站点运行的匿名账户读取权限

2 添加注册表文件,为了保险起见,可以先备份一下对应注册表文件
将下图中红色选中的地方 右键—导出即可









接下来添加注册表文件如下内容
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_file"="C:\\Tomcat7\\logs\\isapi.log"
"log_level"="debug"
"worker_file"="C:\\Tomcat7\\conf\\workers.properties"
"worker_mount_file"="C:\\Tomcat7\\conf\\uriworkermap.properties"

保存为jk.reg 双击导入即可
注释: 其中注册表的路径是不变的,不管你的tomcat安装到那个目录注册表里面默认就是
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\

需要修改为自己对应的路径"log_file"="C:\\Tomcat7\\logs\\isapi.log"  记录连接器的日志
这个记录日志的目录需要iis 站点对应的匿名账户写入权限,否则不能记录日志,非常不利于排查问题

"worker_file"="C:\\Tomcat7\\conf\\workers.properties"
"worker_mount_file"="C:\\Tomcat7\\conf\\uriworkermap.properties"
这两个路径与文件名一定要正确, 这里的路径都用了双斜杠 是因为.reg导入才这样写,在注册表里显示应该是一个斜杠 如下图











现在在C:\Tomcat7\conf\ 目录中新建这两个文件, 这个两个文件需要有对应iis站点匿名账户读取权限
workers.properties内容为

workers.tomcat_home=C:\Tomcat7
workers.java_home=C:\Java\jdk
ps=\                                 #指定文件路径分隔符
worker.list=worker1
worker.worker1.port=8009             #工作端口
worker.worker1.host=localhost        #TOMCAt服务器地址
worker.worker1.type=ajp13            #类型
worker.worker1.lbfactor=1            #负载平衡因数

前两个即是tomcat 和java的home路径
worker.list=worker1    这个是要是用tomcat的work名字,与另一个文件是有对应关系的
也可以设置多个,每个站点享有独立的tomcat 就是通过它来配置的,还需要其他配置暂时不研究这个
worker.worker1.lbfactor=1      这个目前也用处不大,是负载均衡用的


第二个文件
uriworkermap.properties
内容
/*.jsp=worker1
/*.do=worker1
这里的worker1 跟上边的文件里面的是一一对应关系

配置iis
添加虚拟目录
虚拟目录的名字必须是 jakarta
路径就是C:\Tomcat7\bin\win32\i386\isapi_redirect.dll










添加isapi和cgi 限制
这里名字写的是tomcat















再添加应用程序映射
点击----添加模块映射 输入如下图
模块要选择IsapiFilterModule










添加isapi 筛选器 此项是在具体站点基本添加的 如(default web site)
筛选器名称也为tomcat
路径仍然是C:\Tomcat7\bin\win32\i386\isapi_redirect.dll







然后将iis的web路径改为tomcat的测试文件路径
记得给目录添加iis 用户的权限,可以点击“测试设置” 验证权限





配成完成,重启iis 与tomcat
接下来就是测试了
先测试一下tomcat 的
http://172.16.0.111:8080/index.jsp







成功了




展开
收起
小易1246 2015-02-01 17:22:43 20057 0
4 条回答
写回答
取消 提交回答
  • Re2008R2IIS7.5与Tomcat整合详细总结版

    2016-12-22 14:44:22
    赞同 展开评论 打赏
  • Re2008R2IIS7.5与Tomcat整合详细总结版


    我按这个配置,也报错啊



    HTTP 错误 404.17 - Not Found



    请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。



    模块    StaticFileModule



    通知    ExecuteRequestHandler



    处理程序    StaticFile



    错误代码    0x80070032



    请求的 URL    xxx.com:80/login.jsp



    物理路径    E:\Tools\apache-tomcat-7.0.68\webapps\xxxxx\login.jsp



    登录方法    匿名



    登录用户    匿名

    2016-12-21 16:00:53
    赞同 展开评论 打赏
  • 回 1楼财贷通的帖子
    我也遇到这个问题了,有没有解决方案!
    2015-12-24 17:19:20
    赞同 展开评论 打赏
  • Re2008R2IIS7.5与Tomcat整合详细总结版
    我的没有成功,错误

    HTTP 错误 404.17 - Not Found
    请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

    -------------------------

    Re2008R2IIS7.5与Tomcat整合详细总结版
    这个目录需要iis 站点运行的匿名账户读取权限  ?这个如何设置

    -------------------------

    Re2008R2IIS7.5与Tomcat整合详细总结版
    workers.properties 和 uriworkermap.properties 必须放在conf下吗?
    2015-11-13 14:57:14
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Apache Tomcat 的云原生演进 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载