整合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端口,也说明我们的配置成功了..