2003 下,IIS 6 , Tomcat 5 整合!百分求解!不够再加!
操作 系统 Windows 2003
IIS 版本 6.0
Tomact 版本 5 或 5.5
求此平台下两者的整合,做虚拟主机用,可支持Servlet ,不出现因为整合而出现的对某些东西不支持的问题。
请有经验的大侠不吝赐教!万分感谢!
[解决办法]
配置要求:IIS(win2000 server 自带)、Java 2 SDK 1.4.2 (或更高版本)、Tomcat Web Server 连接器、Tomcat 5.0.24 (或更高版本)
准备
一、Java 2 SDK 1.4.2 (或更高版本)
1、 www.java.sun.com/downloads/ 网站中下载,选择
2、 Java 2 Platform, Standard Edition (J2SE)
3、 在下拉列表框中选择All platforms
4、 J2SE v 1.4.2_04 SDK includes the JVM technology 下选择
5、 Download J2SE SDK
6、 选择accept后下载Windows Offline Installation, Multi-language (j2sdk-1_4_2_04-windows-i586-p.exe, 49.36 MB) 版本
二、Tomcat 5.0.24 (或更高版本)
1、http://jakarta.apache.org/site/binindex.cgi下载
2、在Downloads中选择Binaries
3、在Tomcat 5.0.25 KEYS 中选择5.0.25 exe PGP MD5 下载
三、Tomcat Web Server 连接器
1、http://jakarta.apache.org/site/binindex.cgi下载
2、在Downloads中选择Binaries
3、在Tomcat Web Server Connectors KEYS 中选择
4、JK 2
JK 2 Binary Releases
5、出现Index of/dist/jakarta/tomcat-connectors/jk2/binaries
界面,选择win32/然后选择下载
jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
注意 这个目录列表显示的文件名称被截断,所以需要观察浏览器状态栏中的提示,确认你准备下载的文件应该是以\ "...iis.zip\ "为结尾的
安装
一、Java 2 SDK
运行j2sdk-1_4_2_04-windows-i586-p.exe 按照提示安装(可以更改安装路径到你习惯的地方)。这里选择
d:\\jdk(jdk为自己新建的文件夹)
二、Tomcat 5
运行jakarta-tomcat-5.0.24.exe 按照提示安装(可以更改至其它路径)。
这里选择d:\\tomcat5.0(tomcat5.0为自己新建的文件夹)
选择本地机器的jdk路径,一般情况下,安装文件会自动搜索并显示,如果没有正确显示,也可以手动更改
成功安装后,程序会提示启动tomcat并查看readme文档。
注意: 启动Tomcat之前要确定系统没有其它服务已经占用8080端口(Tomcat默认端口)和8009端口( Tomcat\ 's AJP13 连接器端口)
Tomcat正常启动后会在系统栏加载图标
注意: tomcat5.0以下的版本必须设初始密码,tomcat5.0以上的可以不设
三、Tomcat JK2 IIS 连接器
解压缩jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip得到bin conf doc三个文件夹,进入\\bin\\后可见isapi_redirector2.dll。
剪切/复制isapi_redirector2.dll 文件到Tomcat\ 's bin\\目录中
新建目录win32\\i386\\ 并粘贴isapi_redirector2.dll。
记住这个路径,稍后配置IIS的时候还会用到。这个路径不是系统要求的,可改变!
现在可以删除jakarta-tomcat-connectors-jk2.0.4-win32-IIS目录,这里面的文件已经没用了。实际上在jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip中我们只用到了isapi_redirector2.dll一个文件
设置
一、tomcat
进入 Tomcat\ 's conf\\ 文件夹.
要支持 JK2 连接器, 你可能需要修改jk2.properties文件. 大多数情况下保留此文件的默认状态即可,本人的多次配置过程都没有修改过这个文件。
## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED
## WHEN YOU EDIT THE FILE.
## COMMENTS WILL BE _LOST_
## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.
# Set the desired handler list
# handler.list=apr,request,channelJni
# www.knowsky.com
# Override the default port for the socketChannel
# channelSocket.port=8019
# Default:
# channelUnix.file=${jkHome}/work/jk2.socket
# Just to check if the the config is working
# shm.file=${jkHome}/work/jk2.shm
# In order to enable jni use any channelJni directive
# channelJni.disabled = 0
# And one of the following directives:
# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so
# If set to inprocess the mod_jk2 will Register natives itself
# This will enable the starting of the Tomcat from mod_jk2
# apr.jniModeSo=inprocess
request.tomcatAuthentication=false
二、设置环境变量tomcat_home。
指向tomcat的安装目录d:\\Tomcat 5.0下。注意要求系统有可用JAVA_HOME环境变量
创建workers2.properties到d:\\Tomcat 5.0\\conf下。workers2.properties内容文件如下:
[shm]
file=\ "d:/Tomcat 5.0/logs/jk2.shm\ "
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/servlet/*]
worker=ajp13:localhost:8009
三、Tomcat IIS 连接器
你已经放置isapi_redirector2.dll在你的路径下,本例子中是
d:\\Tomcat 5.0\\bin\\win32\\i386
现在需要添加一些必要的注册信息到注册表,redirector被IIS调用时会读到。建立一个.reg文件
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0]
\ "workersFile\ "=\ "d:\\\\Tomcat 5.0\\\\conf\\\\workers2.properties\ "
\ "extensionUri\ "=\ "/jakarta/isapi_redirector2.dll\ "
\ "logLevel\ "=\ "debug\ "
\ "serverRoot\ "=\ "d:\\\\Tomcat 5.0\\\\\ "
在记事本中写入上面的文字,并保存为 reg.reg
双击.reg文件,在注册表中的内容将会添加成功
HKEY_LOCAL_MACHINE\\SOFTWARE\\Apache Software Foundation\\Jakarta Isapi Redirector\\2.0中可以看到。
四、给Tomcat配制虚拟主机多个站点。
新建两个文件夹d:\\tomcat1和d:\\tomcat2。在两个文件夹里面再分别建立一个ROOT目录。
记事本打开d:\\Tomcat5.0\\conf\\server.xml文件。在文件server.xml中找到
标签;在标签之后新建如下信息:
www.tomcat1.com\ " appBase=\ "d:\\tomcat1\ " >
www.tomcat2.com\ " appBase=\ "d:\\tomcat2\ ">
主要就是新建两个虚拟主机www.tomcat1.com和www.tomcat2.com。站点目录分别是d:\\tomcat1和d:\\tomcat2。d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。分别是两个站点的主目录。也建立了日志文件和访问日志文件。
五、打开tomcat的/servlet/*的映射。
记事本打开d:\\Tomcat 5.0\\conf\\web.xml文件。
把
invoker
org.apache.catalina.servlets.InvokerServlet
debug
0
2
和
invoker
/servlet/*
这两个代码段的注释去掉,使其生效。
六、在iis中建立两个站点tomcat1和tomcat2。
建立时注意主机头分别设成www.tomcat1.com和www.tomcat2.com。主目录分别设成d:\\tomcat1\\ROOT和d:\\tomcat2\\ROOT。两个站点分别建立名称为jakarta的ISAPI筛选器。可执行文件都指向d:\\Tomcat 5.0\\conf\\connector\\isapi_redirector2.dll。
两个站点分别新建虚拟目录别名都填:jakarta,目录选择指向:d:\\Tomcat 5.0\\bin\\win32\\i386在\ "执行(例如ISAPI应用程序或CGI)\ "一项打上勾,完成。
IIA筛选器
再进行筛选器的选择时,选用jakarta可执行文件为d:\\Tomcat 5.0\\bin\\win32\\i386
建筛选器所需要的虚拟目录
选择需要加载Tomcat服务站点,右键选择新建,再选择虚拟目录。创建虚拟目录,别名为jakarta。注意这个名字是固定值,不要拼写错误!指定目录为isapi_redirector2.dll所在目录. 本例子中是 d:\\Tomcat 5.0\\bin\\win32\\i386
重启tomcat和iis。
在tomcat1和tomcat2文件夹下最好放一个index.htm和一个index.jsp文件.方便测试。
[解决办法]
不错
[解决办法]
不错,留名以后试试
[解决办法]
网上搜一大把....
我整合成功的参考:
win2003+IIS6+Tomcat5+jk整合
整合组合是:Win2003+IIS6+Tomcat5+jk。如果您要整合的系统不是这个组合,这篇文章可能对你没有没有什么帮助,但是我极力劝大家采用这个组合,甚至是相同的版本,因为从别人和自己的经验来看,很多环境的配置或程序的运行都和所运行程序的版本有很大关系,特别是 Tomcat,Mysql,Apache,linux之类。这就是为什么有的系统至今都是用的Apache1.3 tomcat4.0,也是为什么好的开发团队都需要一整套的开发环境配置管理。和我这相同的配置,严格采用下面的架设步骤我都不敢保证你能整合成功,更别说其他版本了。
Windows2003 和IIS6大家应该都是一样的.网上有的文章也介绍XP或者IIS5的整合.我觉得没有必要在XP的系统上整个IIS,装IIS拿来做服务器的,做服务器就用服务器的操作系统.我这里Tomcat的版本是5.0.28算是比较稳定的一个版本,没有采用jk2而采用jk是因为Apache已经明确声明不再对 jk2支持,想起这点就想起几年前用jk2整合Apache和Tomcat了,当时说jk2比jk怎么怎么好,看来这世上没有一件事情是真的.jk的版本是最新的1.2.20,没有用过其他版本,而且现在Apache上面也下不到其他版本了.
整合步骤:
如果你只想架设服务器而不想考虑其中细节问题,请尝试按照下面的步骤整合。如果你按照下面的步骤来了而且成功那么恭喜你,如果没有成功也很正常,可以看看后面的“要注意的问题”。在这里我们统一架设Tomcat的安装目录为D:\Tomcat5.0,新建的站点为www.crazycow.cn,新建的虚拟目录为blog。服务器上有一个内容为空的目录H:\Inetpub\www.crazycow.cn,还有一个目录为H:\Inetpub\ blog.crazycow.cn,这是WEB应用的物理位置,其下面有个简单的test.jsp文件,只是用来打印当前时间。
1,为IIS写注册表
打开注册表编辑器:regedit,选中 "HKEY_LOCAL_MACHINE\SOFTWARE ",新建项 "Apache Software Foundation ",然后选中 "Apache Software Foundation ",再新建项 "Jakarta Isapi Redirector ",然后选中 "Jakarta Isapi Redirector ",再新建项 "1.0 ",然后再选中 "1.0 ",在这一项中新建以下5个字符串值,名称和值分别为(不包括等号分界符,下同):
========================================================================
extension_uri=/jakarta/isapi_redirect.dll
worker_file=D:\Tomcat5.0\conf\workers.properties
worker_mount_file=D:\Tomcat5.0\conf\uriworkermap.properties
log_file=D:\Tomcat5.0\logs\isapi.log
log_level=info
========================================================================
如果你觉得麻烦,请新建文本文件,输入以下内容,保存并更名为jakarta.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 "
"worker_file "= "D:\\Tomcat5.0\\conf\\workers.properties "
"worker_mount_file "= "D:\\Tomcat5.0\\conf\\uriworkermap.properties "
"log_file "= "D:\\Tomcat5.0\\logs\\isapi.log "
"log_level "= "info "
========================================================================
2,建立配置文件
按照注册表里所写的,在D:\Tomcat5.0\conf目录下建立两个配置文件,workers.properties和uriworkermap.properties其内容分别为:
workers.properties的内容:
========================================================================
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=www.crazycow.cn
worker.ajp13.port=8009
========================================================================
uriworkermap.properties的内容:
========================================================================
/*.jsp=ajp13
/*.do=ajp13
========================================================================
3,为jk建立物理目录
从Apache的网站上下载jk的1.2.20版本,实际上现在就只有一个isapi_redirect.dll文件。在 D:\Tomcat5.0\bin目录下建立新目录jakarta,将isapi_redirect.dll复制到里面。
4,建立新网站
打开IIS管理器,在左侧网站一栏新建网站:www.crazycow.cn,其目录指向上面提到过的空目录H:\Inetpub\www.crazycow.cn,让网站有执行(如ISAPI应用程序或CGI)的权限
5,设置筛选器
在IIS管理器左侧网站下面选中新建的网站www.crazycow.cn,右键选择属性,在ISAPI筛选器标签页添加筛选器,名字为jakarta,路径为isapi_redirect.dll的路径名,即D:\Tomcat5.0\bin\jakarta\isapi_redirect.dll。如果成功重新进入属性页,则该新建的筛选器会有一个绿色向上箭头,优先级为高,这说明jk模块加载成功。
6,为jk建立虚拟目录
选中网站www.crazycow.cn,新建虚拟目录,别名为jakarta,路径为D:\Tomcat5.0\bin\jakarta,使其有执行(如ISAPI应用程序或CGI)的权限。
7,为自己的应用建立虚拟目录
选中网站www.crazycow.cn,新建虚拟目录,别名为blog,路径为H:\Inetpub\blog.crazycow.cn,使其有执行(如ISAPI应用程序或CGI)的权限。
8,新建应用程序扩展
在IIS管理器左侧网站下面选中Web服务扩展,添加一个新的Web服务扩展,扩展名为jakarta,添加要求得文件为D:\Tomcat5.0\bin\jakart\isapi_redirect.dll,并设置扩展状态为允许。
9,测试
打开Tomcat服务器,修改h:\WINDOWS\system32\drivers\etc\hosts文件,让www.crazycow.cn的域名指向127.0.0.1,打开IE,输入[color=#0000ff]http://www.craycow.cn/blog/test.jsp[/color],回车,如果出现当前时间,那说明你配置已经成功。
注意的问题:
刚才说了,如果你没有配置成功也很正常,看下面的问题你注意了没有。我将对应上面的步骤分别解释
1,应该没有什么问题,以前的版本有直接的安装程序,现在却没有了。手册上还说可以直接写配置文件不写注册表,我没有试,主要是不清楚原理。
2,注意你的两个配置文件workers.properties和uriworkermap.properties中的两个worker是不是都叫 ajp13,有没有拼写错误.还有如果你配置网站时做了主机头设置,那你workers.properties文件中worker.ajp13.host 的值应该是www.crazycow.cn而不是localhost
3,要注意IIS要对这个jakarta目录有足够的权限.如果你的筛选器添加失败很有可能是权限的原因.
4,应该也没有什么问题,不过你可以测试一下你建立的网站,比如在H:\Inetpub\www.crazycow.cn下放置一个简单的 index.html文件,看能不能正常访问。在这里,我们还可以随便敲一个[color=#0000ff]http://www.crazyoc.cn/xxx.jsp[/color],然后再看 IIS的访问日志,报的是404.0或者404.3错误,前者说明文件或目录无法找到,后者说明文件或目录无法找到:MIME映射策略禁止该请求。
5,这里有可能出现ISAPI筛选器不能加载的问题,状态一栏是红色箭头。打开系统事件查看器,如果发现 "HTTP 筛选器 DLL D:\ Tomcat5.0\bin\jakarta\isapi_redirect.dll 加载失败。数据是错误。 ",那加载失败的原因应该是权限问题,特别是NTFS文件系统。因为需要IIS加载isapi_redirect.dll,所以IIS对它要有权限,所以可以对D:\Tomcat5.0\bin目录添加IIS_WPG和IUSR这两个用户(也有可能要对D:\Tomcat5.0\conf添加权限)。再重新加载一边,如果还没有成功,那我也没有办法了,只能换个FAT32系统或者其他jk版本,再或者看事件查看器,到网上搜解决办法。
如果筛选器加载成功,到这一步,我们还可以做个小小的测试,随便敲一个[color=#0000ff]http://www.crazyoc.cn/xxx.jsp[/color],再看IIS日志,这时报报的错是:404.2,文件或目录无法找到:锁定策略禁止该请求。这也说明筛选器已经加载成功,只是没有进一步处理。
6,7,8步也应该没有什么问题,除了添加新的Web 服务扩展jakarta之外还要使它允许。另外同样要注意权限的问题,因为涉及到Internet访问,你的虚拟目录好像也应该有IUSR这个权限。还有就是注意拼写不要写错,比如把jakarta写成了jarkata。
到了第6步,我们还可以做个实验,在IE里输入[color=#0000ff]http://www.crazycow.cn/blog/xxx.jsp[/color],回车,这是IIS日志报的就是503错误了,服务器错,这说明你已成功了一大半,接下来就只剩下开Tomcat.
9,如果你前面都对,只是你输入[color=#0000ff]http://www.craycow.cn/blog/test.jsp[/color],没有出现当前时间.那么还请查看还有你有没有开启 Tomcat,并在Tomcat引擎中是否加载了和IIS相对应的WEB应用?有的人访问jsp时,Tomcat日志里出现对 /jakart/isapi_redirect.dll的访问或者,直接出现乱码或下载jsp文件,都是这里的原因.
总之大致的解决方法是,结合事件查看器的内容,IIS日志,Tomcat日志,一步步的排错,再到网上搜相关的资料.
还要告诉大家的事,整个过程好像没有怎么重启IIS,也没有设置IIS5.0隔离模式.微软这方面做得确实没话说.