准备工作

1, 打开IIS服务,在浏览器地址栏输入http://localhost确定IIS服务正常.

2, 打开Tomcat服务, 在浏览器地址栏输入http://localhos:8080 确定Tomcat服务正常.

(注意:有可能在[tomcat] /common/lib 这个目录下面没有tools.jar这个包,一定要拷贝进去)

3,下载IIS与Tomcat的桥接器,地址如下

http://apache.justdn.org/tomcat/tomcat-connectors/jk2/binaries/win32/

TOMCAT配置

1,把下载下来的jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip解压.把bin目录下面的isapi_redirector2.dll文件拷贝到任意目录下,不过建议在tomcat下面建立一个iis目录,并拷贝到此目录下.

2,在iis目录下面建立一个注册文件,文件名任意(方便看就好),此文件的目的在于把这个dll注册到系统文件里面去.注册文件内容如下.(此处以及后面均假设tomcat5安装在d:/tomcat5下面)

Windows Registry Editor Version 5.00

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

“serverRoot”=”d:// tomcat5”

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

“workersFile”=” d://tomcat5//conf//workers2.properties”

“logLevel”=”INFO”

在以上文件输入完毕之后,双击注册该dll文件.(注:如果注册失败,一定是注册文件写错了.)

 

3, 现在配置上面注册文件里面用到的workers2.properties文件,这个文件写好之后放到d:/tomcat5/conf目录下面.

[shm]

file=d:/tomcat5/logs/jk2.log

size=1048576

# 实际运用时把所有的localhost和8009换成你自己的IP和端口

[channel.socket:localhost:8009]

port=8009

host=localhost

# define the worker

[ajp13:localhost:8009]

channel=channel.socket:localhost:8009

# Uri mapping

[uri:/*.jsp]

[uri:/iistest/*]

 

此处的Uri mapping是最重要的,关系到IIS5tomcat5是否能协同工作,

说明一下:

[uri:/*.jsp] 是说明解析什么类型的文件,

[uri:/iistest/*] 是在后面的server.xml文件里面配置虚拟主机用到的.

 

4, 配置jk2.properties文件,该文件同样在 /conf 目录下面,内容如下:

 

## 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

request.tomcatAuthentication=false

 

以上加 # 号的都是tomcat5里面原来就有的,我们所需要添加的就是最后一句话,这句话的意思是request的请求在tomcat服务器是否需要验证.

 

5, 现在我们来配置server.xml文件和web.xml文件

在第三步我们已经提到过 [uri:/iistest/*]这个东西,到底是干什么用的呢?

很重要,这个关系到IIS和tomcat的映射.下面我们来看看怎么在server.xml文件里面做配置吧.

我现在要说的是做自己的虚拟主机,而不是把开发的文件包放到tomcat的webapp目录下,所以我需要自己配置一个主机,配置方法如下:

找到server.xml文件原来的</Host>,在这个host之后添加自己的虚拟主机

<Host name=”www.ecai.biz” debug=”0″ appBase=”webapps”

unpackWARs=”true” autoDeploy=”true”

xmlValidation=”false” xmlNamespaceAware=”false”>

 

<Logger className=”org.apache.catalina.logger.FileLogger”

directory=”www.eca.biz.logs”  prefix=”www_ecai_biz_log.” suffix=”.txt”

timestamp=”true”/>

 

<Context path=”/iistest” docBase=”D:/iistest” debug=”0″

reloadable=”true” crossContext=”true”>

</Context>

</Host>

以上的东西都很重要,不过在我们现在讲的iistomcat协同工作这篇文章中最重要的还是<Context path 这个东西,  注意 , 我们的path=”/iistest” 是和worker2.properties文件里面的uri mapping是一致的..一定要注意哦,这个是最关键的联系.

     

下面介绍在web.xml文件里面需要修改两个地方.

在web.xml里面找到 invoker 这个地方,

修改一

<!– <servlet>

<servlet-name>invoker</servlet-name>

<servlet-class>

org.apache.catalina.servlets.InvokerServlet

</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>0</param-value>

</init-param>

<load-on-startup>2</load-on-startup>

</servlet> –>

默认的是注释掉的,把这个注释去掉.

 

修改二

      <!–  <servlet-mapping>

<servlet-name>invoker</servlet-name>

<url-pattern>/servlet/*</url-pattern>

</servlet-mapping>–>

把注释去掉

好了,以上是在tomcat里面所需要修改的.修改完成之后,打开你的tomcat,先测试一下我们配置的虚拟主机是否运行正常

http://www.ecai.biz:8080/iistest/index.jsp

如果以上运行正常,说明虚拟主机是配置成功了,接下来我们需要做的就是在iis中做的配置.

IIS5配置

1,ISAPI筛选器配置

  在Internet 信息服务里面,右键点击  默认网站—属性—ISAPI筛选器—添加

注意 :此处的筛选器名称一定要写成 jakarta

可执行文件选择刚才咱们放置isapi_redirector2.dll的文件.

点击确定之后,重新启动iis服务,查看ISAPI筛选器里面刚才配置的那个jakarta是否加载成功,成功的话状态是一个绿色的箭头(如果加载不成功,那么一定是注册文件有错,仔细检查一下).

2, 虚拟目录配置

我们需要配置两个虚拟目录,一个是筛选器专用目录,一个是我们的iistest目录.

A  jakarta目录

右键点击默认网站—新建—虚拟目录

别名输入 jakarta

目录选择存放 isapi_redirector2.dll文件的目录

允许权限的地方把执行(如 ISAPI应用程序和CGI) 这个选项打勾,点击下一步完成就行了.

B  iistest目录

右键点击默认网站—新建—虚拟目录

别名输入 iistest

目录选择存放iistest网站文件的目录

允许权限的地方把执行(如 ISAPI应用程序和CGI) 这个选项打勾,点击下一步完成就行了.

注意:到这里,iistest目录还没有配置完毕,因为还没有给这个目录加载ISAPI筛选器..

做法如下:

右键点击 iistest目录,选择属性虚拟目录—配置—映射—添加

可执行文件选择 isapi_redirector2.dll 文件.

扩展马  输入 .jsp  点击确定就可以了.

好了….现在我们的IIS配置也完成了,要做的工作就是重新启动IIS服务…然后看我们是否配置成功..

测试配置是否成功

首先,我们再次确定tomcat的服务是正常的

http://www.ecai.biz:8080/iistest/index.jsp如果显示正常,那么tomcat配置成功.

其次,确定iis配置服务正常

http://www.ecai.biz/iistest/index.jsp如果显示正常,那么说明iis配置也成功了.

如果上面两个测试均通过,那么,恭喜了,现在iis与tomcat能共用80端口,也说明我们的配置成功了..