Tomcat与IIS整合手记- joerong666 - JavaEye技术网站

文件及版本:

TomcatApache Tomcat 6.0.18? 文件名:apache-tomcat-6.0.18.exe

Java JDKJDK 1.6.11 (JDK 6 u11)? 文件名:jdk-6u11-windows-i586-p.exe

连接器:jk2?? 文件名:isapi_redirector2.dll

注册表文件名:jk2.reg

IIS6

服务器系统:Window 2003 Server + SP2

?

安装配置IIS6Tomcat6

?

一、装好Window2003Server+SP2IIS6,将首页文档改为index.asp。将下列内容插入index.asp中:

?

<center><h1>现在的时间是:<%=time%></h1></center>

?

如果是本机,则在浏览器中打入http://localhost。如果配置正确,浏览器应该显示当前时间。

由于asp的配置网上很多,这里不再赘述。

二、安装Java JDK,一路默认安装即可。本文安装目录为:E:\Program Files\Java\jdk1.6.0_11

三、设置环境变量:我的电脑-->属性-->高级-->环境变量:

?????? 添加:java_home?? 内容:E:\Program Files\Java\jdk1.6.0_11

添加:tomcat_home??? 内容:D:\Tomcat6

修改或添加:classpath???? 内容:.;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar

修改:Path??? 在{zh1}面添加内容:;%java_home%\bin

四、安装Apache Tomcat 6.0.18,本文安装目录为d:\Tomcat6(没有空格)目录下。可以考虑“全部安装”。安装完毕后,启动Tomcat。这时电脑右下角应有Tomcat正在运行的标志 。如果没有或Tomcat未启动,则重新启动服务器。重启后,电脑右下角应有Tomcat正在运行的标志。如果仍不正常,请重装Tomcat

五、Tomcat运行后,在浏览器中打入http://localhost:8080,回车后应出现Tomcat的默认页面。点击左边的“Examples”,看看示例能否正常运行。如果能,则Tomcat基本配置完毕。

六、在D:\vm\jsp目录下新建一个jsp文件:index.jsp,内容如下:

?

<center>index.jsp:现在时间是: <%=new java.util.Date()%></center>

?

七、为Tomcat配置站点。先用“写字板”或“FrontPage”等文本编辑软件将D:\Tomcat6\conf目录下的server.xml文件打开,再保存一下,这样以后用“记事本”打开就没有乱码了。编辑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.htm

九、在D:\vm\jsp目录下新建一个htm文件:index.htm,内容如下:

?

<center>这是IISindex.htm文件!</center>

?

十、此时,在浏览器上打http://test1.com回车后,应出现“这是IISindex.htm文件!”。

到此,IISTomcat分别配置成功!

?

IIS6Tomcat6整合

?

一、将“连接器”文件isapi_redirector2.dll复制到d:\Tomcat6\bin\win32目录下(win32目录要新建)。

二、在d:\Tomcat6\conf目录新建两个文件:jk2.propertiesworkers2.properties

?

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

#

# 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

?

(好像几乎全是注释掉的)

?

workers2.properties的内容如下

[shm:]

info=Shared memory file. Required for multiprocess servers

file=d:\Tomcat\work\jk2.shm

size=1000000

?

[channel.socket:localhost:8009]

info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol

tomcatId=localhost:8009

?

[uri:/]

[uri:/*.jsp]?

[uri:!/*.asp]

?

(注意要给d:\Tomcat\work\目录everyone写的权限)

其中:[uri:/]代表根路径的首页文件归Tomcat处理;[uri:/*.jsp]代表jsp文件归Tomcat处理;[uri:!/*.jsp]代表asp文件Tomcat处理;其余文件归IIS处理。

?

三、创建一个注册文件jk2.reg,内容如下:

?

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]

“workersFile”=”D:\\Tomcat6\\conf\\workers2.properties”

“extensionUri”=”/akarta/isapi_redirector2.dll”

“logLevel”=”debug”

“serverRoot”=”D:\\Tomcat6”

?

保存后双击运行这个文件,导入注册表中。

?

四、设置IIS网站的IsApi筛选器:

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

确定后是下面这样:

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

六、在IIS的服务器扩展中添加允许isapi_redirector2.dll执行

重启IISTomcat

?

?

?

访问一下,这时先看看IIS默认网站的IsApitomcat是否为绿色。如果不是,砸烂电脑。

可以看到jk2.shm已经被创建了,如果有问题在事件查看器中可以看到筛选器的错误说明

绿色后就可以通过IIS访问Tomcat了,包括Tomcat的虚拟路径也可以。

IIS???? http://test1.com/

tomcat? http://test1.com/

?

七、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处理,这样可以直接打开index.jsp这个文件。

八、让IISTomcat支持中文文件名:

IIS:编辑Windows2003的注册表(要重新启动才能生效):

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\FavorDBCS = 0

?

Tomcat

1>jsp文件最开头加入下面这行(这里是解决中文不能显示的问题):

<%@ page language="java" contentType="text/html; charset=UTF-8" %>

?

?

2>然后改tomcatserver.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" 加上这句就可以识别中文文件了,也就是不光可以在jsp中显示中文,还可以下载显示。

?

九、总结:

?????? 1)调好IIS

?????? 2)安装JDK1.6,默认安装即可;

?????? 3)安装Tomcat6,安装目录选D:\TOMCAT6(不要有空格);

?????? 4)设置服务器的环境变量;

?????? 5)重启计算机后,设置Tomcat6conf下的server.xml文件,设置虚拟主机,使IISTomcat用同一路径;

?????? 6)测试IISTomcat8080端口)

?????? 7)注册文件

8)在d:\Tomcat6\conf目录下创建jk2.propertiesworkers2.properties

9IIS建立web服务扩展

10IIS网站建立ISAPI筛选器

11IIS网站建立jakarta虚拟目录,指向D:\TOMCAT\bin\win32,权限为可执行

12)测试整合结果

13)处理中文显示和中文文件名识别的问题。

14)注意D:\TOMCAT目录要everyone可读取;D:\TOMCAT\work目录要everyone可写。

15)如果您是做虚拟主机的,要求客户在你指定的{jd1}目录下编译,负责你按照他编译的目录设置你的服务器,否则数据库将无法被支持。

16)经过上述设置如果还不行,砸毁你的电脑。

郑重声明:资讯 【Tomcat与IIS整合手记- joerong666 - JavaEye技术网站】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——