1.需要的相关环境. tomcat可以在网上下到; JK插件,可以在 http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk 处下载到最新的.(IIS 的 JK插件为 isapi_redirect.dll)
2. 将 JK插件(isapi_redirect.dll 文件)拷贝到 <CATALINA_HOME>/bin目录下
3.在<CATALINA_HOME>/conf 目录下生成两件文件 workers.properties 和 uriworkermap.properties
内容分别如下:
1.) workers.properties 如下:
workers.tomcat_home=C:\Tomcat 5.0 //你机器上的tomcat目录
workers.java_home=C:\j2sdk1.4.2_03//你机器上的jdk目录
ps=\
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
2.)uriworkermap.properties 如下:
/*.jsp=worker1
/你的jsp工程目录/*=worker1 // 工程目录可以有n个
4. 编辑并执行这个jk.reg文件, 内容如下
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
“extension_uri”=”/jakarta/isapi_redirect.dll”
“log_file”=”你要存放log文件的目录和文件名”
“log_level”=”debug”
“worker_file”=”你机器上的tomcat目录\\conf\\wrkers.properties”
“worker_mount_file”=”你机器上的tomcat目录\\conf\\uriworkermap.properties”
5.打开你机器上的 Internet信息服务, 在默认WEB站点项中新建一个虚拟目录, 名称为 jakarta, 实际的文件资源路径就是 isapi_redirect.dll文件所在的目录 <CATALINA_HOME>/bin
6.修改 jakarta 这个虚拟目录的属性,将其执行许可权限设为"脚本和可执行程序"
7.在Internet信息服务主窗口的目录树中选中IIS主机节点,打开它的属性,在Internet信息服务页中点击 WWW服务边上的 ”编辑”按钮,然后增加一个ISAPI筛选器, 名字为 jakarta, 可执行文件为 <CATALINA_HOME>/bin/isapi_redirect.dll. 应用保存.
8. 重启IIS服务, 然后打开 Tomcat服务, 你就可以测试了 http://localhost/index.jsp
22.4.4 把JK插件作为筛选器加入到IIS
在IIS中加入名为"jakarta"的虚拟目录后,还应该把JK插件作为ISAPI筛选器加入到IIS中,以下是操作步骤。
(1)在Internet信息服务主窗口的目录树中选择IIS主机节点,单击鼠标右键,在下拉菜单中选择【属性】选项,如图22-9所示。在出现的窗口中单击【编辑】按钮,打开IIS主机的属性窗口,如图22-10所示。
图22-9 配置IIS主机的属性
图22-10 IIS主机的属性窗口
(2)在主属性的WWW服务区域单击【编辑】按钮,打开WWW服务主属性窗口,增加新的ISAPI筛选器,筛选器名称为"jakarta",可执行文件为/bin /isapi_redirect.dll,如图22-11所示。
图22-11 增加新的ISAPI筛选器
(3)重新启动IIS服务器,如果配置正常,在WWW服务主属性的ISAPI筛选器子窗口中,新加的jakarta筛选器的状态应该变为绿色向上的箭头,如图22-12所示。
图22-12 jakarta筛选器被装载
22.4.5 测试配置
重启Tomcat服务器和IIS服务器,通过浏览器访问http://localhost/index.jsp。如果出现Tomcat的默认主页,说明配置已经成功。此外,如果在Tomcat服务器上已经发布了helloapp应用,可以访问http://localhost/helloapp/index.htm;如果正常返回helloapp应用的index.htm网页,说明配置已经成功;如果配置有误,可以查看JK插件生成的日志信息,它有助于查找错误原因。在注册表中设定该日志文件的存放位置为/logs/isapi.log。
22.5 小 结
本章介绍了通过JK插件来实现Tomcat与Apache以及IIS服务器集成的步骤。Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。JK插件安置在对方HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的URL映射信息,来决定是否要把客户请求转发给Tomcat服务器处理。Tomcat与Apache以及IIS服务器集成的异同之处参见表22-6。
表22-6 Tomcat与Apache以及IIS服务器集成的异同之处
22.4 Tomcat与IIS服务器集成
IIS(Internet Information Service)服务器是微软开发的功能强大的Web服务器,IIS为创建和开发电子商务的提供了安全的Web平台。把Tomcat与IIS集成,可以扩展IIS的功能,使它支持Java Web应用。
22.4.1 准备相关文件
在开始本节的操作之前,假定在机器上安装了IIS服务器,应该准备好以下3个文件。
1.JK插件
在本书配套光盘的lib目录下提供了用于IIS的JK插件:isapi_redirect.dll,此外,也可以到以下地址下载最新的JK插件:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk,可以把JK插件isapi_redirect.dll拷贝到/bin目录下。
2.workers.properties文件
在/conf目录下创建如下的workers.properties文件。在本书配套光盘的sourcecode/chapter22/iis目录下也提供了该文件:
3.uriworkermap.properties文件
在/conf目录下创建如下的uriworkermap.properties文件,它为JK插件指定URL映射。在本书配套光盘的sourcecode/chapter22/iis目录下也提供了该文件:
尽管把以上3个文件都放在Tomcat目录下,其实Tomcat服务器并不会访问这些文件。以上给出的是按照惯例的一种配置,事实上,也可以把这些文件放在文件系统的其他地方。
22.4.2 编辑注册表
在配置Apache和Tomcat集成时,JK插件的属性是在Apache的配置文件httpd.conf中设置的。配置IIS和Tomcat集成时,应该在操作系统的注册表中设置JK插件的属性,以下是操作步骤。
(1)在Windows NT/2000中通过regedit命令编辑注册表,创建一个新的键:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如图22-4所示。
图22-4 在注册表中创建Jakarta Isapi Redirector\1.0键
(2)在Jakarta Isapi Redirector\1.0键下面创建新的字符串,参见表22-5,创建好之后的注册表如图22-5所示。
表22-5 在Jakarta Isapi Redirector\1.0键下面创建的字符串
图22-5 在Jakarta Isapi Redirector\1.0键下面创建新的字符串
在本书配套光盘的sourcecode/chapter22/iis目录下提供了注册表编辑文件jk.reg,如果不想按照以上方式手工修改注册表,也可以直接运行jk.reg文件(选中这个文件再双击鼠标即可),它会把以上配置内容自动添加到注册表中。jk.reg的内容如下:
在运行jk.reg文件之前,应该把文件中的"C:\\jakarta-tomcat"目录替换为Tomcat安装目录。
22.4.3 在IIS中加入"jakarta"虚拟目录
注册表修改以后,应该在IIS中加入名为"jakarta"的虚拟目录,它是JK插件所在的目录,以下是操作步骤。
(1)选择操作系统的【控制面板】→【管理工具】→【Internet服务管理器】选项,打开Internet信息服务管理器,如图22-6所示。
图22-6 Internet信息服务管理器窗口
(2)选中【默认Web站点】,单击鼠标右键,在下拉菜单中选择【新建】→【虚拟目录】选项,如图22-7所示。创建一个虚拟目录,名为"jakarta",对应的实际文件资源路径应该是isapi_redirect.dll文件所在的目录/bin。
图22-7 创建虚拟目录
(3)修改刚刚创建的jakarta虚拟目录的属性,将其执行许可权限设为"脚本和可执行程序",如图22-8所示。这步操作很重要,它保证在注册表中设置的extension_uri对应的/jakarta/isapi_redirect.dll可以被执行。如果漏掉这步操作,会导致无法访问Tomcat中的Servlet/JSP组件。
图22-8 修改jakarta虚拟目录的执行许可权限
2. 将 JK插件(isapi_redirect.dll 文件)拷贝到 <CATALINA_HOME>/bin目录下
3.在<CATALINA_HOME>/conf 目录下生成两件文件 workers.properties 和 uriworkermap.properties
内容分别如下:
1.) workers.properties 如下:
workers.tomcat_home=C:\Tomcat 5.0 //你机器上的tomcat目录
workers.java_home=C:\j2sdk1.4.2_03//你机器上的jdk目录
ps=\
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
2.)uriworkermap.properties 如下:
/*.jsp=worker1
/你的jsp工程目录/*=worker1 // 工程目录可以有n个
4. 编辑并执行这个jk.reg文件, 内容如下
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
“extension_uri”=”/jakarta/isapi_redirect.dll”
“log_file”=”你要存放log文件的目录和文件名”
“log_level”=”debug”
“worker_file”=”你机器上的tomcat目录\\conf\\wrkers.properties”
“worker_mount_file”=”你机器上的tomcat目录\\conf\\uriworkermap.properties”
5.打开你机器上的 Internet信息服务, 在默认WEB站点项中新建一个虚拟目录, 名称为 jakarta, 实际的文件资源路径就是 isapi_redirect.dll文件所在的目录 <CATALINA_HOME>/bin
6.修改 jakarta 这个虚拟目录的属性,将其执行许可权限设为"脚本和可执行程序"
7.在Internet信息服务主窗口的目录树中选中IIS主机节点,打开它的属性,在Internet信息服务页中点击 WWW服务边上的 ”编辑”按钮,然后增加一个ISAPI筛选器, 名字为 jakarta, 可执行文件为 <CATALINA_HOME>/bin/isapi_redirect.dll. 应用保存.
8. 重启IIS服务, 然后打开 Tomcat服务, 你就可以测试了 http://localhost/index.jsp
22.4.4 把JK插件作为筛选器加入到IIS
在IIS中加入名为"jakarta"的虚拟目录后,还应该把JK插件作为ISAPI筛选器加入到IIS中,以下是操作步骤。
(1)在Internet信息服务主窗口的目录树中选择IIS主机节点,单击鼠标右键,在下拉菜单中选择【属性】选项,如图22-9所示。在出现的窗口中单击【编辑】按钮,打开IIS主机的属性窗口,如图22-10所示。
(2)在主属性的WWW服务区域单击【编辑】按钮,打开WWW服务主属性窗口,增加新的ISAPI筛选器,筛选器名称为"jakarta",可执行文件为
(3)重新启动IIS服务器,如果配置正常,在WWW服务主属性的ISAPI筛选器子窗口中,新加的jakarta筛选器的状态应该变为绿色向上的箭头,如图22-12所示。
22.4.5 测试配置
重启Tomcat服务器和IIS服务器,通过浏览器访问http://localhost/index.jsp。如果出现Tomcat的默认主页,说明配置已经成功。此外,如果在Tomcat服务器上已经发布了helloapp应用,可以访问http://localhost/helloapp/index.htm;如果正常返回helloapp应用的index.htm网页,说明配置已经成功;如果配置有误,可以查看JK插件生成的日志信息,它有助于查找错误原因。在注册表中设定该日志文件的存放位置为
22.5 小 结
本章介绍了通过JK插件来实现Tomcat与Apache以及IIS服务器集成的步骤。Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。JK插件安置在对方HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的URL映射信息,来决定是否要把客户请求转发给Tomcat服务器处理。Tomcat与Apache以及IIS服务器集成的异同之处参见表22-6。
表22-6 Tomcat与Apache以及IIS服务器集成的异同之处
Tomcat与Apache集成 | Tomcat与IIS集成 | |
JK插件的工作文件 | workers.properties文件 | workers.properties文件 |
设置JK插件属性 | 在Apache的配置文件httpd.conf中设置 | 在注册表中设置 |
设置URL映射信息 | 在Apache的配置文件httpd.conf中设置 | 在uriworkermap.properties文件中设置 |
加载JK插件 | 把JK插件拷贝到 |
把JK插件所在的目录作为IIS的虚拟目录, 把JK插件作为ISAPI筛选器加入到IIS中 |
22.4 Tomcat与IIS服务器集成
IIS(Internet Information Service)服务器是微软开发的功能强大的Web服务器,IIS为创建和开发电子商务的提供了安全的Web平台。把Tomcat与IIS集成,可以扩展IIS的功能,使它支持Java Web应用。
22.4.1 准备相关文件
在开始本节的操作之前,假定在机器上安装了IIS服务器,应该准备好以下3个文件。
1.JK插件
在本书配套光盘的lib目录下提供了用于IIS的JK插件:isapi_redirect.dll,此外,也可以到以下地址下载最新的JK插件:http://jakarta.apache.org/builds/jakarta-tomcat-connectors/jk,可以把JK插件isapi_redirect.dll拷贝到
2.workers.properties文件
在
|
3.uriworkermap.properties文件
在
|
尽管把以上3个文件都放在Tomcat目录下,其实Tomcat服务器并不会访问这些文件。以上给出的是按照惯例的一种配置,事实上,也可以把这些文件放在文件系统的其他地方。
22.4.2 编辑注册表
在配置Apache和Tomcat集成时,JK插件的属性是在Apache的配置文件httpd.conf中设置的。配置IIS和Tomcat集成时,应该在操作系统的注册表中设置JK插件的属性,以下是操作步骤。
(1)在Windows NT/2000中通过regedit命令编辑注册表,创建一个新的键:HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector \1.0,如图22-4所示。
(2)在Jakarta Isapi Redirector\1.0键下面创建新的字符串,参见表22-5,创建好之后的注册表如图22-5所示。
表22-5 在Jakarta Isapi Redirector\1.0键下面创建的字符串
字 符 串 | 字 符 串 值 | 描 述 |
extension_uri | /jakarta/isapi_redirect.dll | 指定访问isapi_redirect.dll文件的uri, 在IIS中将创建名为jakarta的虚拟目录, 在该目录下包含isapi_redirect.dll文件, 参见22.4.3节 |
log_file | C:\jakarta-tomcat\logs\isapi.log | 指定JK插件使用的日志文件, 在实际配置中,可以通过查看这个日志文件, 来跟踪JK插件的运行过程, 这对排错很有用 |
log_level | debug | 指定JK插件的日志级别, 可选值包括debug、info和error等 |
worker_file | C:\ jakarta-tomcat\conf \workers.properties | 指定JK插件的工作文件 |
worker_mount_file | C:\jakarta-tomcat\conf \uriworkermap.properties | 指定JK插件的URL映射文件 |
在本书配套光盘的sourcecode/chapter22/iis目录下提供了注册表编辑文件jk.reg,如果不想按照以上方式手工修改注册表,也可以直接运行jk.reg文件(选中这个文件再双击鼠标即可),它会把以上配置内容自动添加到注册表中。jk.reg的内容如下:
|
在运行jk.reg文件之前,应该把文件中的"C:\\jakarta-tomcat"目录替换为Tomcat安装目录。
22.4.3 在IIS中加入"jakarta"虚拟目录
注册表修改以后,应该在IIS中加入名为"jakarta"的虚拟目录,它是JK插件所在的目录,以下是操作步骤。
(1)选择操作系统的【控制面板】→【管理工具】→【Internet服务管理器】选项,打开Internet信息服务管理器,如图22-6所示。
(2)选中【默认Web站点】,单击鼠标右键,在下拉菜单中选择【新建】→【虚拟目录】选项,如图22-7所示。创建一个虚拟目录,名为"jakarta",对应的实际文件资源路径应该是isapi_redirect.dll文件所在的目录
(3)修改刚刚创建的jakarta虚拟目录的属性,将其执行许可权限设为"脚本和可执行程序",如图22-8所示。这步操作很重要,它保证在注册表中设置的extension_uri对应的/jakarta/isapi_redirect.dll可以被执行。如果漏掉这步操作,会导致无法访问Tomcat中的Servlet/JSP组件。