与微软的IIS集成

目的:将Tomcat与IIS6.0整合在以下,让IIS可以解析.jsp、.do和Servlet,在IIS中运行皕杰报表系统。

准备工作:

1、安装JDK,(我安装在 C:\Program Files\Java)设置环境变量[CLASSPATH、JAVA_HOME、Path](根据自己的JDK安装路径设置)

“我的电脑”->点右键->“属性”->“高级”->“环境变量”->“系统变量”->新建

JAVA_HOME=C:\Program  Files\Java\jdk
CLASSPATH= .;%JAVA_HOME%\lib
%JAVA_HOME%\bin;

测试:在DOS下输入javac回车,出现javavc的使用说明表示你的JDK安装成功

2、安装Tomcat,(Tomcat默认的HTTP端口是8080,HTTP端口安装完成后可以在server.xml中修改)设置环境变量TOMCAT_HOME(根据自己的Tomcat安装路径设置),如:

TOMCAT_HOME=D:\Tomcat

测试:启动tomcat,在IE中输入http://localhost:8080出现tomcat的欢迎界面,安装成功!

3、去apache网站下载JK,JK负责IIS和Tomcat的通讯,下载地址: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/

第一步:新建iis.reg、workers.properties、uriworkermap.properties三个文件

1、iis.reg文件内容如下:

Windows Registry  Editor Version 5.00 
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software  Foundation\Jakarta Isapi Redirector\1.0] 
  "log_file"="$Tomcat_HOME \\logs\\isapi_iis_tomcat.log" 
  "log_level"="debug"
  "worker_file"="$Tomcat_HOME \\conf\\workers.properties" 
  "worker_mount_file"="$Tomcat_HOME \\conf\\uriworkermap.properties" 
  "extension_uri"="/jakarta/isapi_redirect-1.2.28.dll"

2、workers.properties文件内容如下:

workers.tomcat_home=$Tomcat_HOME 
  workers.java_home=C:\Program Files\Java\jdk1.6.0_12      
  ps=\ 
  worker.list=worker1
  worker.worker1.port=8009       
  worker.worker1.host=localhost    #服务器IP地址 
  worker.worker1.type=ajp13
  worker.worker1.lbfactor=1

3、uriworkermap.properties文件内容如下:

/report/*=worker1

注意

三个文件中,红色字为tomcat应用服务器的路径,绿色字为JDK的路径,这两个路径用户可以根据实际情况修改。

第二步:添加注册表信息

双击刚刚建好的iis.reg,导入注册表信息。导入后,确认注册表信息是否导入成功。

第三步:拷贝所需文件到相应的文件夹

  1. 在Tomcat目录下新建“IIS”文件夹,将isapi_redirect-1.2.28.dll文件拷贝到该文件夹下。
  2. 将isapi_redirect-1.2.28.dll文件拷贝到Tomcat目录下的“bin”文件夹下。
  3. 将workers.properties文件拷贝到Tomcat目录下的“conf”文件夹下。
  4. 将uriworkermap.properties文件拷贝到Tomcat目录下的“conf”文件夹下。
  5. 将$JDK_HOME/lib中的tools.jar文件拷贝到$Tomcat_HOME/common/lib文件夹下。

第四步:配置IIS

1、指定网站主目录。

【默认网站】—>【属性】—>【主目录】

设置“本地路径”:该路径指向Tomcat的web应用文件夹,否则可能导致应用的图片等数据无法读取。

 2、新建jakarta虚拟目录

  1. 【默认网站】右键菜单—>【新建】—>【虚拟目录】
  2. 根据向导新建虚拟目录,“别名”要填写“jakarta”

  3. “路径”指向刚刚建立的iis文件夹

  4. 一定要设置“执行”权限。

  5. 点击“下一步”,完成设置即可。

3、添加jakarta筛选器

【默认网站】右键菜单—>【属性】—>【ISAPI筛选器】—>【添加】按钮

  1. 筛选器名称:jakarta
  2. 可执行文件:选择isapi_redirect-1.2.28.dll文件。

4、添加web 服务扩展

点击“添加一个新的web服务扩展”

  1. “扩展名”:用户可以自己定义
  2. “要求的文件”:选择isapi_redirect-1.2.28.dll文件。
  3. 将扩展状态设置为允许。

5、设置网站隔离模式

【网站】右键菜单—>【属性】—>【服务】,选中“以IIS5.0隔离模式运行www服务”。

6、重启IIS,然后查看筛选器是否配置成功。如果筛选器的状态显示为绿色向上的箭头,表示配置成功;如果显示红色向下的箭头,表示配置错误,仔细检查文件的路径是否正确,是否配置了web扩展服务等,

第五步:修改$Tomcat_HOME/conf中server.xml文件

1、找到节点:

<Connector port="8009" enableLookups="false"  redirectPort="8443" protocol="AJP/1.3" />

a、添加“URIEncoding="GBK"”属性,指定url的编码方式,否则可能导致无法识别url中的中文字符。

该节点修改后如下:

<Connector port="8009" enableLookups="false"  redirectPort="8443" protocol="AJP/1.3" URIEncoding="GBK"/>

第六步:重启IIS服务。

第七步:重启Tomcat服务。

在IE地址栏中输入:http://localhost:8080/report

再在IE地址栏中输入:http://localhost/report,若两次运行结果一样,恭喜你,配置成功。

注意

1、如果不希望用户直接通过Tomcat访问报表,只能通过IIS调用插件的方式访问报表,可以将server.xml文件中Tomcat访问报表应用的端口配置删除。如:用户通过Tomcat访问报表应用的链接为“http://localhost:8080/report”,表示用户通过8080端口访问报表应用,在server.xml文件中,找到8080端口的配置,如下:

<!--  Define a non-SSL HTTP/1.1 Connector on port 8080 --> 
<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" 
  minSpareThreads="25"  maxSpareThreads="75" enableLookups="false" 
  redirectPort="8443"  acceptCount="100" connectionTimeout="20000" 
  disableUploadTimeout="true" URIEncoding="GBK"  /> 

将上述这段节点配置删除即可。

删除后,用户无法使用“http://localhost:8080/report”进行访问,而只能通过IIS,如“http://localhost/report”,对报表进行访问。

2、每次修改server.xml、workers.properties、uriworkermap.properties文件后,都要重启Tomcat服务后,新的设置才会生效。