付晓波 QQ:5622936
本方法同样适用于java6+apache tomcat6+IIS6整合。
文件程序:下载
Tomcat:Apache Tomcat 7.0.28 文件名:apache-tomcat-7.0.28.exe
Java:JRE 7.5 (JDK 7 u5) 文件名:jre-7u5-windows-i586.exe
连接器:jk2 文件名:isapi_redirector2.dll
注册表文件名:jk7.reg
IIS:6,服务器系统:Window 2003 Server + SP2
Java,下载地址:http://www.java.com,Apache Tomcat下载:http://tomcat.apache.org/
其他相关推荐:MySQL下载地址:http://www.mysql.com。PHP和Zend,PHP建议下载5.2版。这两款软件如果都使用最新版的,可能会导致某些程序(如一些网上商城系统)不兼容。推荐阅读:PHP+IIS整合(适合ShopEX和ECShop),见http://diy.haihua.net/Article/zzsj/fwqgl/201104/20110426134321.htm。
安装配置IIS6和Tomcat7
一、装好Window2003Server+SP2,IIS6,将首页文档改为index.asp。将下列内容插入index.asp中:
<center><h1>现在的时间是:<%=time%></h1></center>
如果是本机,则在浏览器中打入http://localhost。如果配置正确,浏览器应该显示当前时间。
由于asp的配置网上很多,这里不再赘述。
二、安装Java JDK,一路默认安装即可。本文安装目录为:E:\Program Files\Java\jre7\
三、安装Apache Tomcat 7.0.28,本文安装目录为d:\Tomcat7(没有空格)目录下。可以考虑“全部安装”。
四、安装完毕后,将d:\Tomcat7的权限设为everyone可读,给d:\Tomcat7\work\目录everyone写的权限。启动Tomcat。这时电脑右下角应有Tomcat正在运行的标志 。如果没有或Tomcat未启动,则重新启动服务器。重启后,电脑右下角应有Tomcat正在运行的标志。如果仍不正常,请重装Tomcat。
五、Tomcat运行后,在浏览器中打入http://localhost:8080,回车后应出现Tomcat的默认页面。点击中间的“Examples”,看看示例能否正常运行。如果能,则Tomcat基本配置完毕。还可以测试一下其他功能。
六、在D:\vm\jsp目录下新建一个jsp文件:index.jsp,用记事本编辑并保存,内容如下:
<%@ page contentType="text/html;charset=gb2312"%>
<center>index.jsp:现在时间是: <%=new java.util.Date()%></center>
七、为Tomcat配置站点。用记事本编辑server.xml,在</engine>前加入以下代码,加后保存:
<Host name="test1.com" appBase="D:\vm\jsp"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Alias>test1.com</Alias>
<Context path="" reloadable="true" docBase="D:\vm\jsp" />
</Host>
其中:test1.com是域名,通过修改客户机上的C:\WINDOWS\system32\drivers\etc目录下的hosts文件,可以访问test1.com。方法是:用记事本打开hosts文件,在最下方添加:
192.168.0.111 test1.com
保存并关闭。其中:192.168.0.111就是服务器的IP地址,请根据实际情况修改。如果是服务器和客户机是一台电脑,则改为127.0.0.1。这样在访问test1.com时实际访问的就是您的服务器。
此时,在浏览器上打http://test1.com:8080回车后,应出现JSP的当前时间。
八、回到IIS管理器,建立一个网站,主机头为test1.com,目录为D:\vm\jsp,保存。首页文档为index.asp。
九、在D:\vm\jsp目录下新建一个asp文件:index.asp,内容如下:
<center>这是IIS的index.asp文件!现在时间是:<%=now()%></center>
十、此时,在浏览器上打http://test1.com回车后,应出现“这是IIS的index.asp文件!现在时间是:某年某月某日某时某分某秒”。如果没有显示时间或出错,请重新配置IIS。
到此,IIS和Tomcat分别配置成功!
IIS6和Tomcat7整合
一、将“连接器”文件isapi_redirector2.dll复制到d:\Tomcat7\bin\win32目录下(win32目录要新建)。
二、在d:\Tomcat7\conf目录新建文件:workers2.properties:
workers2.properties的内容如下:
[shm:]
info=Shared memory file. Required for multiprocess servers
file=d:\Tomcat7\work\jk2.shm
size=1000000
[channel.socket:localhost:8009]
info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol
tomcatId=localhost:8009
worker=ajp13:localhost:8009
[uri:/]
[uri:/*.jsp]
[uri:/*.do]
[uri:/servlet/*]
[uri:/do/*]
[uri:/*.jspx]
三、创建一个注册文件jk7.reg,内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
“workersFile”=“D:\\Tomcat7\\conf\\workers2.properties”
“extensionUri”=“/jakarta/isapi_redirector2.dll”
“logLevel”=“debug”
“serverRoot”=“D:\\Tomcat7”
保存后双击运行这个文件,导入注册表中。注意:直接粘贴到记事本,有时会把双引号复制成中文的双引号,要改成半角英文的双引号。
四、设置IIS网站的IsApi筛选器:

指向文件D:\Tomcat7\bin\win32\isapi_redirector2.dll

确定后是下面这样:

五、在IIS中创建虚拟目录jakarta,jakarta是一个规定的名字,必须这么创建,这个虚拟目录要指向isapi_redirector2.dll所在的目录,并且设置为可执行IsApi

六、在IIS的服务器扩展中添加允许isapi_redirector2.dll执行(下图中的“tomcat6”,换成tomcat 7)

很重要:重启IIS和Tomcat。
访问一下http://test1.com,这时先看看IIS默认网站的IsApi的tomcat是否为绿色。如果不是,检查work目录的权限,或者砸烂电脑。

可以看到jk2.shm已经被创建了,如果有问题在事件查看器中可以看到筛选器的错误说明((下图中的“tomcat6”,换成tomcat 7))

绿色后就可以通过IIS访问Tomcat了,包括Tomcat的虚拟路径也可以。
IIS: http://test1.com/index.asp (这时是asp文件)
tomcat: http://test1.com/ (这时是JSP文件)
到这里整合完毕!
七、workers2.properties中的设置
这个文件中[uri:/*]之类的设置会告诉筛选器符合哪些条件的路径交给tomcat处理,像[uri:/*]会使筛选器把所有的地址都交给tomcat处理,这样IIS中原来ASP的处理便全部都不能用了。
也可以指定某些地址才转向Tomcat,像
[uri:/]
[uri:/*.jsp]
[uri:/admin/*]
[uri:/jsp-examples/*]
[uri:!/*.asp](注意“!”号)
表示/*.jsp /admin/* /jsp-examples/*才转向tomcat,其他不符合这些条件的仍由IIS本身处理。
[uri:!/*.asp](注意“!”号)表示*.asp的文件不交给Tomcat处理。
[uri:/]表示根目录的默认文件归Tomcat处理,这样可以根据网站的WEB-INF下的web.xml的设置,直接打开index.jsp这个文件。
八、让IIS和Tomcat支持中文文件名:
IIS:编辑Windows2003的注册表(要重新启动才能生效):
HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\FavorDBCS = 0
Tomcat:
1>在jsp文件最开头加入下面这行(这里是解决中文不能显示的问题):
<%@ page language="java" contentType="text/html; charset=UTF-8" %>或
<%@ page contentType="text/html;charset=GBK"%>或<%@ page contentType="text/html;charset=gb2312"%>
2>然后改tomcat的server.xml文件(这里是解决含有中文的文件、图片的不能下载、显示的问题):
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" URIEncoding="UTF-8"/>
加上URIEncoding="UTF-8"这句就可以中文文件名的文件了。
九、总结:
1)调好IIS;
2)安装Java7,默认安装即可;
3)安装Tomcat7,安装目录选D:\TOMCAT7(不要有空格);
4)重启计算机后,设置Tomcat7下conf下的server.xml文件,设置虚拟主机,使IIS和Tomcat用同一路径;
5)测试IIS和Tomcat(8080端口)
7)注册文件
8)在d:\Tomcat7\conf目录下创建workers2.properties
9)IIS建立web服务扩展
10)IIS网站建立ISAPI筛选器
11)IIS网站建立jakarta虚拟目录,指向D:\TOMCAT7\bin\win32,权限为可执行
12)测试整合结果
13)处理中文显示和中文文件名识别的问题。
14)注意D:\TOMCAT7目录要everyone可读取;D:\TOMCAT7\work目录要everyone可写。
15)如果您是做虚拟主机的,要求客户在你指定的绝对目录下编译,或者你按照他编译的目录设置你的服务器,否则可能无法运行。
16)JSP后台管理时,建议用8080端口,前台正常用80端口,实属绝佳搭配。其他语言的程序,都用正常的80端口。
17)经过上述设置如果还不行,把你的电脑丢到垃圾站去!或者砸毁你的电脑!
2012/7/9 16:06:21 |