IIS+Tomcat配置实例

来源:互联网 发布:sd卡windows无法格式化 编辑:程序博客网 时间:2024/05/16 04:37

目的:为了让IIS与Tomcat共用80端口,Tomcat中部署的网站能让外网访问,使用JK2 (IIS与Tomcat连接器)实现

JAVA环境配置

1.安装JDK  Tomcat 等java环境 

2.配置环境变量

3.测试java环境 javac、 java 等命令

4.测试Tomcat 输入http://localhost:8080 出现tomcat欢迎界面 通过

JK2 配置文件准备

1.在IIS中把JSP相关的请求发送到Tomcat需要Tomcat Connector的支持 

下载地址 http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/
下载:jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip
2.解压后找到bin目录中的isapi_redirector2.dll文件,我把它放在了D:\Tomcat5\iis(目录随便)

3.Tomcat安装目录下的conf目录下建一个workers2.properties文件 

[shm]
file=C:/Tomcat6/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

 

4.Tomcat安装目录下的conf目录下建一个 jk2.properties

 内容 request.tomcatAuthentication=false

5.编辑注册表
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector]
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]
"serverRoot"="C:\\Tomcat6"
"extensionUri"="/jakarta/isapi_redirector2.dll"
"workersFile"="C:\\Tomcat6\\conf\\workers2.properties"
"logLevel"="DEBUG"

IIS 配置操作

1.添加“ISAPI筛选器

a) 打开IIS 

b) 设置默认网站C:\Tomcat6\webapps

c) 右击默认网站 ->属性 -> ISAPII筛选器->添加 ,筛选器名称填jakarta可执行文件中填入你的isapi_redirector2.dll的绝对路径(及第二步 中 iis目录

2.新建虚拟目录

a) 默认网站中右击新建虚拟目录,别名填jakarta

b) 下一步,路径选为你的isapi_redirector2.dll存放的目录,及第二步 iis目录

c) 下一步, "执行(例如ISAPI应用程序或CGI"一项打上勾,再点下一步,

d) 再点完成
3.IIS6 需要配置(IIS5跳过)

a) Web服务扩展 扩展名填jsp(这里的名称无所谓,随便取一个)要求的文件然后找到你的isapi_redirector2.dll确定设置扩展状态为允许也打上勾,确定

b) 至此,Connector就可以对请求进行过滤,把符合配置文件中的请求重写到extension_uri指定的uri进行处理,这里为/jakarta/isapi_redirect2.dll,然后isapi_redirect2.dll再转发到tomcat8009tomcat处理完成后再循原路发回去

4. 测试

a) 新建测试文件 在tomcat安装目录中的weapps中新建一个test目录,里面新建一个test.jsp文件和相应的WEB-INF目录和web.xml文件

b) 重启电脑
启动Tomcat,再启动IIS 打开IE,输入http://localhost:8080/test/test.jsp

c) 然后再看看http://localhost/test/test.jsp,如果两者执行结果一样,恭喜你,整合成功了!

注:

1.显示tomcat的错误信息,看一下你的tomcat安装目录中的common\lib目录下有没有tools.jar文件,如果没有就去把JDK安装目录中的lib目录下的tools.jar拷贝进来。
2.IIS指向的目录最好和Tomcat指向的目录一致,不然会发生找不到图像和其他资源文件的问题。
3.你需要tomcat处理的文件和目录可以在workers2.properties(见第4)中的# Uri mappingworker=ajp13:localhost:8009之间设置,如:[uri:/*.jsp][uri:/*.do],每次修改workers2.properties后需要重启IIS才能生效。
4.如果上述方法都试过了还无法成功整合的话,可以尝试如下操作:虚拟目录属性à虚拟目录选项à配置 添加一个应用程序扩展,扩展名为 .jsp 可执行文件为isapi_redirector2.dll 的绝对路径,同样添加 .do 对应isapi_redirector2.dll 的应用程序扩展。

5.tomcat 默认端口是8080,从步骤4可以知道,JK2使IIS能够把所有的jsp 请求发送到tomcat ,让tomcat 8009端口来处理请求,所以不用把tomcat 的默认端口改成8009,这样的话会存在冲突,导致整合无法成功。
http://localhost:8080/test/test.jsp
然后再看看http://localhost/test/test.jsp,如果两者执行结果一样,恭喜你,整合成功了!



原创粉丝点击