查阅了网上关于整合IIS和Tomcat的文档,没有完全配置好。下面将我配置的步骤结合参考的文档进行描述。
1、安装JDK、Tomcat、IIS6等
2、先从tomcat的域名配置入手,首先你要在DNS中配置域名我们就不要那么麻烦了,就直接在 C:\WINDOWS\system32\drivers\etc 下的hosts 文件最后添加一个域名 :
127.0.0.1 www.abc.com
3、在D盘下新建文件夹Web ,该文件夹将是用来存放工程的目录,就相当于tomcat中的webapps目录
4、在Web文件夹下新建目录 取名 www.abc.com,把你的工程放到该目录下
5、到tomcat的 server.xml 文件中修改你的配置文件了,在Engine 中添加Host节点,这就是要配置工程访问,就是虚拟主机。
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="www.abc.com" appBase="D:\web\www.abc.com" uppackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="Users" debug="0" reloadable="true"/>
</Host>
这里对Host进行说明一下:
name: 虚拟主机名字
appBase:虚拟主机的目录,可以是绝对路径,也可以是相对于catalina_home的相对目录
容器 Context表示一个Web应用程序
path:指定web应用的URL入口
docBase:应用程序的路径,可以是Host的appBase中指定值的路径,也可以是绝对路径
现在重启tomcat,在地址栏中输入 http://www.abc.com:8080/ 你现在看到的是工程的主页面了吧,如果输入http://localhost:8080/ 则是看到小猫了
到此tomcat的域名配置就到此了,现在我们来做结合IIS的配置了
6、在IIS中把JSP相关的请求发送到Tomcat需要Tomcat Connector的支持,去apache网站下载JK2,JK2负责IIS和Tomcat的通讯,下载地址:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/
下载:jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
解压后找到bin目录中的isapi_redirector2.dll文件,我把它放在了D:\Tomcat5\iis下(目录随便)。
7、创建workers2.properties文件
在Tomcat安装目录下的conf目录下建一个workers2.properties文件,把下面这段内容拷进去保存,
实际运用时把所有的localhost和8009换成你自己的IP和端口:
[shm]
file=D:/Tomcat5/logs/jk2.log
size=1048576
# Example socket channel, override port and host.
[channel.socket:localhost:8009]
port=8009
host=127.0.0.1
# define the worker
[ajp13:localhost:8009]
channel=channel.socket:localhost:8009
# Uri mapping
[uri:/*.jsp]
[uri:/*.do]
worker=ajp13:localhost:8009
# define the worker
[status:status]
# Uri mapping
[uri:/jkstatus/*]
worker=status:status
使用前请先修改文件的file=D:/Tomcat5/logs/jk2.log这一行,改成你需要的路径,copy地址栏的路径时请注意,是"/"而不是“\”,跟windows表示的路径不一样。在 # Uri mapping 处设置你需要tomcat操作的内容。将上述红色部分替换为[uri:/*],则所有请求内容都转交Tomcat处理。
8、编辑Tomcat安装目录下的conf目录中的jk2.properties文件(如果没有新建一个)
添加如下内容:
request.tomcatAuthentication=false
9、编辑注册表(isapi_redirector2.dll,不需要uriworkermap.properties)
新建一个iis.reg文件,把下面这段内容拷进去保存然后双击iis.reg把信息导入注册表。
(注意,把涉及的Tomcat路径改成你的Tomcat的路径)
iis.reg文件内容如下:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta IsapiRedirector]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta IsapiRedirector\2.0]
"serverRoot"="D:\\Tomcat5"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="D:\\Tomcat5\\conf\\workers2.properties"
"logLevel"="DEBUG"
10、IIS中停掉默认网站,新建一个网站Tomcat,网站目录指向D:\Web,目录的执行权限需要勾选ISAPI应用程序或CGI,在新建的网站Tomcat上点右键选“属性”,在弹出的页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入你的isapi_redirector2.dll的绝对路径(就是第6步骤中isapi_redirector2.dll文件存放的位置,我的是D:\Tomcat5\iis\isapi_redirector2.dll)。“确定”后点“确定”关闭属性页。
11、在新建的网站Tomcat上,点右键,选择“新建”->“虚拟目录”,别名填jakarta,下一步,路径选为你的isapi_redirector2.dll存放的目录,我的是D:\Tomcat5\iis,下一步,权限中记得把 "执行(例如ISAPI应用程序或CGI)"一项打上勾,再点下一步,再点“完成”。
12、IIS6需添加此步骤,(如果是IIS5跳过) 在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键选择“添加一个新的Web服务扩展”,弹出的框中扩展名填jsp(这里的名称无所谓,随便取一个),“要求的文件”选“添加”然后找到你的isapi_redirector2.dll后“确定”。“设置扩展状态为允许”也打上勾,确定。至此,Connector就可以对请求进行过滤,把符合配置文件中的请求重写到extension_uri指定的uri进行处理,这里为/jakarta/isapi_redirect2.dll,然后isapi_redirect2.dll再转发到tomcat的8009由tomcat处理完成后再循原路发回去.
13、重启电脑,应该可以正常访问IIS和Tomcat网站。
14、如果有问题,在新建Tomcat网站上点右键->“属性”->“ISAPI筛选器”,如果"jakarta"前面的箭头是绿色的,那么表明配置已经成功了。如果箭头是红色,那么请你检查整个配置过程,看看有没有弄错的地方。