整合IIS5.1和Tomcat6.0 的问题
我的系统是xp sp3 ,IIS5.1 ,Tomcat6.0 ,JDK 1.6 用以下方法整合, 没配成功, 请各位帮我看下哪有错
(或者还有什么别的方法,简单点的能实现jsp服务器的)
--------------------------------------------
1、从sun网站下载jdk1.6版
2、从tomcat官方站下载tomcat6.0.14版
3、下载JK2 (下载地址:http://archive.apache.org/dist/jakar...-win32-IIS.zip)
版本:jakarta-tomcat-connectors-jk2.0.4-win32-IIS ,下载地址请搜索,www.apache.org上的文件好像时有时无!
说明:
目前网络上有各种整合配置iis+tomcat的方法,但大多是使用Tomcat的较低版本,使用的链接文件一般为isapi_redirect.dll ,这里将使用最新的tomcat6.0.14 ,并且IIS服务器的plugin文件为isapi_redirector2.dll(jk2),当然jk2比jk要好,关于jk2的说明请参考相关文档.
测试环境
Windows XP / Windows Server 2003
所需软件:
Tomcat 6.0.14
所需文件:
isapi_redirector2.dll (在jakarta-tomcat-connectors-jk2.0.4-win32-IIS压缩包的bin目录里)
workers2.Properties
jk2.properties
只要有这三个个文件就可以搞定了,前一个文件到www.apache.org 上找吧
后两个文件可以自己建 ,这些文件放在什么路径下都可以!
此安装的路径假设如下:
E:\Tomcat\Tomcat6_0\conf\connector\isapi_redirector2.dll
E:\Tomcat\Tomcat6_0\conf\workers2.properties
E:\Tomcat\Tomcat6_0\conf\jk2.properties
好吧让我们开始安装
1.在注册表中注册
在注册表中加入项 "HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0"
在这个项中追加一个字串值,名称=extension_uri 值=/jakarta/isapi_redirector2.dll
在这个项中追加一个字串值,名称=log_level 值=debug
(根据情况选择 debug/inform/error/emerg)
在这个项中追加一个字串值,名称=worker_file 值=E:\Tomcat\Tomcat6_0\conf\workers2.properties
(根据自己环境作相应的设定)
注意:2.0不用加入conf\uriworkermap.properties文件,注册项的名称一定要正确,包括空格
(注意项名称前后不要有空格,值前后也不要有空格)
当然也可以自建一个注册表文件注册表.reg
内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"="$tomcat_home"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="$tomcat_home\\conf\\workers2.properties"
"logLevel"="DEBUG"
你是否已经看出isapi_redirector2.dll文件所需要的这么几个参数?有兴趣可以去看isapi_redirector2.dll的原代码
2.创建 .properties文件
创建workers2.properties文件(用记事本就行)
内容如下:
[shm]
file=$tomcat_home/logs/jk2.log
size=1048576
# Example socket channel, override port and host.
[channel.socket:reynir_net:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:reynir_net:8009]
channel=channel.socket:reynir_net:8009
# Uri mapping
[uri:/*.jsp]
[uri:/web/*]
[uri:/view/*]
worker=ajp13:reynir_net:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
再建一个jk2.properties文件
内容如下:
request.tomcatAuthentication=false
3.设置IIS
在默认Web站点上点击右键,设定属性。 在属性中ISAPI筛选器。 进行添加操作。 筛选器名称设定为 jakarta, 可执行文件指定为 c:\tomcat5\conf\connector\isapi_redirector2.dll (根据环境设定)
设定虚拟目录
启动Microsoft Internet Information Server 的Internet服务管理器。
在默认的Web站点下创建一个虚拟目录。这个虚拟目录的名称一定得是 jakarta , 它的物理路径指向你存放 isapi_redirector2.dll 的路径。例如(c:\tomcat5\conf\connector\ ) 注意:加入”执行”权限
注:如果是IIS6.0(Windows Server 2003),则还需要在“web服务扩展”里添加一个jsp扩展,dll文件指向c:\tomcat5\conf\connector\isapi_redirector2.dll ,并设置为“允许”,如图:
4.配制站点
在Tomcat中建立两个JSP站点
可以在网上找两个JSP源码,也可以自己随便写两个jsp页面就可以了。检查E:\Tomcat\Tomcat6_0(Tomcat安装目录)下有没有webapps这个文件夹,如果没有新建一个,如果有,把它下面删空了(可能需要停止Tomcat服务才能删)。然后在webapps下新建两个文件夹,比如分别叫jspweb1,jspweb2,然后再这两个文件夹下分别再建立ROOT文件夹,即jspweb1下建ROOT,jspweb2下建ROOT。再把准备的两个JSP站点的内容分别拷贝到两个ROOT文件夹下,目录结构如下图:
3.1 配置Tomcat的server.xml
打开F:\Tomcat\conf\server.xml,把下面的内容插入到<Engine></Engine>之间
<Host name="www.myweb1.com" appBase="webapps/jspweb1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="www.myweb2.com" appBase="webapps/jspweb1"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
注意,其中name属性指主机名(一个站点可以绑定多个域名,本地测试一般使用 localhost ),即这个站点对应的域名,appBase属性指站点所在位置。
然后修改<Engine name="Catalina" defaultHost="localhost">为:
<Engine name="Catalina" defaultHost="www.myweb1.com">
在IIS中新建站点,“主目录”指向“webapps/jspweb1”下的ROOT,这样,jspweb1这个站点就配制完成了。
5.测试
新建一个文件E:\Tomcat\Tomcat6_0\webapps\jspweb1\ROOT\test.jsp,内容为:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JSP测试文件 -- Powered by: Edward (EdwardWorld@126.com)</title>
</head>
<body>
<%
String infoShow = "Hello World,JSP服务器配制完成!";
out.println(infoShow);
%>
</body>
</html>
在地址栏输入:http://localhost/test.jsp ,如果可以正常访问,则表示IIS已经可以支持解析JSP文件了。
新建ASP文件:E:\Tomcat\Tomcat6_0\webapps\jspweb1\ROOT\test.asp
内容为:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>JSP测试文件 -- Powered by: Edward (EdwardWorld@126.com)</title>
</head>
<body>
<%="Hello World,IIS仍然可以解析ASP文件!"%>
</body>
</html>
在地址栏输入:http://localhost/test.asp ,如果可以正常访问,则表示支持asp、jsp运行的IIS服务器配制完成。
至此IIS整合Tomcat完成全部配制。
[解决办法]
1.需要的组建isapi_redirect.msi(安装路径不要空格)(网上下载)2.配置好java环境,要确定tomcat跑起来(不要在80端口上跑)3.配置IIS6.0环境 其他,如asp 和 asp.net的网站正常挂起,有解析的域名,就可以挂起 用80,不然不可以用80 然后就是挂jsp的程序, 11.建立一个站点 这里我就取名为JSP 指向tomcat里的jsp程序的文件夹 建立过程中设置访问权限:执行(ISAPI应用程序或CGI) 站用的是80端口,设置主机头 绑定好解析的域名 22.新建立web服务扩展,在里面新建立一个服务名字叫jsp,然后指向isapi_redirect.msi安装后的bin文件夹下的 dll文件.(isapi_redirect.dll) 33.在建立好的JSP站点下,新建虚拟目录 名字叫jakarta 路径指向isapi_redirect.msi安装后的bin文件夹 44.设置JSP站点的:ISAPI筛选器 ,添加一个筛选名称为jakarta,可执行文件指向(isapi_redirect.dll) 55.设置JSP站点的:主目录-配置中,添加应用程序映射:添加 可执行文件指向(isapi_redirect.dll),扩展名:.jsp 66.设置JSP站点的:文档 添加 index.jsp 77.检查,web扩展服务中,jsp服务,ISAPI应用程序服务是否为允许4.在新建一个站点名字叫BBS 设置主机头,绑定好解析的域名 端口也就能用80