Windows Server 2008 R2 SP1 中IIS7.5 和 TOMCAT7 整合笔记
来源:www.roak.com
整合文件在百度网盘或博客盘
文章作者QQ:4543964 MSN:aimeko@msn.com Gtalk:xiejiwu@gmail.com
转载请注明来源
所有软件和教程下载:www.roak.com
配置了N次,64位操作系统真坑爹~~~
下面做个成功的笔记。
本次使用的都是最新版的软件。
系统平台:Windows Server 2008 R2 SP1(Standard版本)
软件版本:JRE7\iis7.5\apache-tomcat-7.0.22\isapi_redirect1.2.32
图1
一、安装软件JRE7,安装路径为D:\soft\Jre7。
二、安装软件Tomcat7,安装路径为D:\soft\Tomcat7。并启动TOMCAT,测试http://127.0.0.1:8080能否访问。
(提示:以上2个软件安装路径最好不要有空格哦,2003的IIS6+TOMCAT6曾经因为TOMCAT安装路径有空格没有配置成功)
三、导入注册表:
导入注册表文件为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"
"log_file"="D://Soft//tomcat7//logs"
"log_level"="debug"
"tomcat_start"="D://Soft//tomcat7//bin//tomcat.bat start"
"tomcat_stop"="D://Soft//tomcat7//bin//tomcat.bat stop"
"worker_file"="D://Soft//tomcat7//conf//workers.properties"
"worker_mount_file"="D://Soft//tomcat7//conf//uriworkermap.properties"
注意:导入注册表后一定要使用regedit打开注册表,查看是否导入成功。注册表中是否包含上述的项和字符串值。
很多时候提示导入成功却注册表中没有该项。
网上教程在2008系统下IIS7导入注册表全是抄的2003的32位操作系统版本下的,都是扯淡的,要么无法导入,要么位置错误。
导致最后无法而配置成功的,基本是这个步骤没做好。
网上很多教程导入注册表位置为[HKEY_LOCAL_MACHINE/SOFTWARE/Apache Software Foundation/Jakarta Isapi Redirector/1.0]
这是个错误的位置,会导致isapi_redirect.dll无法加载而出现500错误。
64位操作系统的正确位置是[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
图2
图3
四、在tomcat安装目录下conf文件夹下建立两个文件
文件1:workers.properties
workers.tomcat_home=D:\soft\Tomcat7\
workers.java_home=D:\soft\Jre7
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
文件2:uriworkermap.properties
/*.jsp=ajp13
五、拷贝isapi_redirect.dll到tomcat安装目录下conf文件夹
六、打开IIS7.5,点击左边的计算机名。
在IIS管理器中的“ISAPI和CGI限制”里面右键添加,路径选择为tomcat安装目录下conf文件夹的isapi_redirect.dll,并设定“允许执行扩展路径”,描述名可取jakarta
图4
图5
七、接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择tomcat安装目录下conf文件夹isapi_redirect.dll。
图6
图7
八、在Default Web Site上右键"添加虚拟目录",别名取jakarta(必须是jakarta名称,名称必须和注册表里"extension_uri"的值的名字一致),路径指向tomcat安装目录下conf文件夹,即isapi_redirect.dll所在目录。
图8
九、点击虚拟目录jakarta,双击“处理程序映射”,最右边(第三分栏里面)选择“编辑功能权限...”将所有权限(执行权限)选上。
图9
十、在Default Web Site上,双击“处理程序映射”,右键"添加脚本映射",请求路径写*.jsp,可执行文件选择tomcat安装目录下conf文件夹isapi_redirect.dll。名称随便写,例如JSP。
图10
十一、修改IIS默认网站的目录为D:\soft\tomcat7\webapps\ROOT目录下。
增加网站的默认首页文档文件index.jsp.重启IIS服务器和Tomcat。
访问http://127.0.0.1/index.jsp能否访问。+++++++++++++++++++++++++++++++++
多个项目部署
默认为ROOT目录,如果要部署多个项目可以修改server.xml文件
<host name="xxx.xxx.com"
appbase="X:\wwwroot\xxx.xxx.com"
unpackwars="true"
autodeploy="true">
</host>
项目路径X:\wwwroot\xxx.xxx.com\ROOT\
IIS路径:同上X:\wwwroot\xxx.xxx.com\ROOT\
如果出现404.0错误 需要注意程序中web.xml配置
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>test.root</param-value>
</context-param>
是否与其他项目重复 ,修改以后注意log4j配置文件否则将不会输出日志
log4j.properties
log4j.appender.E.File=${test.root}WEB-INF/logs/error.log
配置错误提示:
1.问:没有配置成功,IIS测试访问JSP页面出现500错误:
HTTP 错误 500.0 - Internal Server Error
调用 GetFilterVersion 失败,在 ISAPI 筛选器 "D:\soft\tomcat7\conf\isapi_redirect.dll" 上。
注意:conf与Root的权限问题。
答:注册表导入位置不对或根本没有导入注册表。手动写注册表或更改位置。
64位操作系统的正确位置是[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
2.问:Windows Server 2008 R2 IIS7.5 中出现 " ADODB.Connection 错误 '800a0e7a' "。
答:在64位系统中,IIS7应用程序池默认没有启用32位程序,也就是说如果你使用的是64位操作系统,而没有64位的Jet4.0驱动程序,那么就要在IIS7中启用32位程序。
打开网站对应的应用程序池的 高级设置 ,在常规里有个选项【启用32位应用程序】,默认是False,改成 True吧,一试就OK了。