工作的原理与iis7+tomcat7 是一样的,当一个request服务器时首先过滤器会检查是否
是jsp 请求,如果是直接通过连接器将请求转给tomcat的worker,实现jsp程序由tomcat
解释,否则直接交由iis处理,例如html ,asp 等。
这里介绍的都是tomcat使用8080 ,iis使用80, 将其整合在一起使用,单独直接安装tomcat
为80端口比较简单。
1.安装java 一路默认即可,路径为C:\Java\jdk1.6 jre路径C:\Java\jre1.6
2.添加系统环境变量
新建JAVA_HOME 路径为C:\Java\jdk1.6
新建classpath 路径为.;%JAVA_HOME%\lib
最加环境变量path 最后添加 ;%JAVA_HOME%\bin
添加环境变量主要是网站程序里面调用java的一些类,需要用到lib下的文件,所以为了保险起见,直接添加上。
3. 安装tomcat
安装时候端口直接保持默认8080,安装过程中需要用到jre的路径,安装程序一般会自己识别出来C:\Java\jre1.6
Tomcat的安装路径为C:\tomcat6
测试tomcat是否安装成功,访问http://127.0.0.1:8080/ 出现tomcat的welcome界面说明安装成功
配置tomcat 将解压出来的isapi_redirect.dll 放到下边目录C:\tomcat6\bin\win32\i386
需要新建
在tomcat\conf目录里新建两文件workers.properties 和uriworkermap.properties
这两个文件需要iis 运行的匿名账号读取权限
workers.properties内容为
workers.tomcat_home=C:\tomcat6
workers.java_home=C:\Java\jdk1.6
ps=\
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
uriworkermap.properties内容为
/*.jsp=worker1
/*.do=worker1
选项具体含义上一个文档中已经详细介绍
4. 修改注册表项
先将HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation 备份一下
然后新建一个jk.reg 输入以下内容
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:\\tomcat6\\logs\\isapi.log"
"log_level"="debug"
"worker_file"="C:\\tomcat6\\conf\\workers.properties"
"worker_mount_file"="C:\\tomcat6\\conf\\uriworkermap.properties"
直接双击回车导入到注册表中
"log_file"="C:\\tomcat6\\logs\\isapi.log" 注意这个目录需要iis 对应站点匿名账户的写入权限
否则不会记录日志,非常不利于排查错误
创建iis 站点,非常简单了,不在描述,然后再创建好的iis站点上添加虚拟目录
虚拟目录名称jakarta 路径C:\tomcat6\bin\win32\i386\isapi_redirect.dll
然后添加一个
web
服务扩展名字为
jsp
(可以任意)
为站点添加
ISAPI
筛选器
注意这个名字不能随意填写,如图
要保证添加的ISAPI筛选器可用即绿色箭头向上,如下图
如果是红色的说明有问题,应该是没有添加C:\tomcat6\bin\win32\i386
目录IIS_WPG读取和运行的权限。前提是对应站点的iis 匿名账户属于iis_wpg组,否则可以单独添加该账号有读取和运行的权限
添加
jsp 的应用程序映射
然后给这个站点绑定一个域名 如:www.jsp.com 临时测试需添加hosts映射到此iis相关配置就完成了,注意上边都是基于站点级别的配置,(添加web服务
扩展除外),非全局配置,故不影响其他的站点。
Tomcat 配置添加新的站点,打开server.xml 在</Engine> 标签添加如下<Host name="www.jsp.com" appBase="C:\www"
unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Alias>www.jsp.com</Alias><Context path="" reloadable="true" docBase="C:\www" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
</Host>其中appBase="C:\www 这些路径都是要与iis对应的站点相同
<Alias>www.jsp.com</Alias> 这个即是需要绑定的域名,如果用户想实现用ip访问这里是不行的,需要修改tomcat默认主目录到具体的网站目录,就像iis只有一个站点允许空主机头是一样的
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>这个是配置tomcat站点的access访问log 默认在tomcat\logs 目录中,如果日志增长量比较大建议将路径改到其他分区,以免导致把c盘打满
好了,忙活半天,是该见证奇迹的时刻了。 先重启一下tomcat和iis先测试tomcat 站点级别是否能访问 http://www.jsp.com:8080/jspcheck.jsp 成功了,哈哈
然后
直接访问
http://www.jsp.com/jspcheck.jsp 也成功了
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。