整合IIS与tomcat(共用80端口的配置方法)

一 准备工作
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是最重要的,关系到IIS5和tomcat5是否能协同工作,

说明一下:

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

      以上的东西都很重要,不过在我们现在讲的iis与tomcat协同工作这篇文章中最重要的还是<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端口,也说明我们的配置成功了..

你可能感兴趣的:(整合IIS与tomcat(共用80端口的配置方法))