Windows IIS + JK + Tomcat 的最简单配置。

范堡 发布于 2009/09/16 10:55
阅读 6K+
收藏 4

最近研究不少 Windows 下的东西。
在网上关于 IIS + JK + tomcat 配置的文章应该很多,我主要是想化繁为简,给予新手分享一个最简单的方法。

对于 IIS ,我个人比较不屑,但无奈其某程度上的确是 Windows 最强悍的httpd 服务器。 apache 跟 Nginx for windows 的版本会有 200 线程限制,只有 IIS 没有。而且如果你有 asp 的应用,跟一台服务器,你也无法选择。

很简单其实就那么几步,细说也不用点多少次鼠标。
首先我们要准备好所需要的软件:

1,下载安装 JDK (截止至发稿, 最新版为 6U16)

更新发布网址:http://java.sun.com/javase/downloads/index.jsp
JDK 6U16 下载地址:https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u16-oth-JPR@CDS-CDS_Developer

2,下载安装 tomcat 6 (截止至发稿, 最新版本为6.0.20)
(Windows Service Installer) 该版本能在安装向导中就完成 tomcat + JDK 的环境,并且以服务形式存在于Windows中。

更新发布网址:http://tomcat.apache.org/download-60.cgi
Tomcat 6.0.20 下载地址:http://apache.freelamp.com/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.exe

3,下载 JK For IIS  ISAPI过滤器 (截止至发稿, JK最新版本为1.2.28)

更新发布网址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/
JK ISPI 1.2.28 下载:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/isapi_redirect-1.2.28.dll

 

接下来开始把上边的东西整合到 IIS

1,完成 JDK 跟 tomcat 的安装。步骤相当简单,
按顺序,首先装 JDK ,完成后会在安装目录下有2个文件夹,分别是 JDK 跟 JRE。
然后安装 tomcat 的时候会让你选择 JRE 的路径,就对应上边JRE的路径即可。

其他就不详细说了。但 tomcat 的配置要写写。

化繁为简,把tomcat安装目录下conf/server.xml 的内容都删除掉,然后改为:

<Server port="8005" shutdown="SHUTDOWN">
  <Service name="Catalina">
    <Connector port="8081" protocol="org.apache.coyote.http11.Http11NioProtocol"
                connectionTimeout="20000"
                        redirectPort="8443" />
    <Connector port="8009" maxThreads="1000" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine jvmRoute="tomcat1" name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            unpackWARs="false" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="" docBase="D:\web_server\java" reloadable="false"/>
     </Host>
    </Engine>
  </Service>
</Server>

 

其实你也可以对照以上的参数自己在原来的文件上修改。
然后要注意的是  <Connector port="8009" maxThreads="1000" protocol="AJP/1.3" redirectPort="8443"/>
跟 <Context path="" docBase="D:\web_server\java" reloadable="false"/>

这两行分别设置JK的通信端口以及应用的所在目录。

2,创建2个配置文件用于JK。分别是 workers.properties 跟 uriworkermap.properties

workers.properties 内容(实际应用时请删除注释):

////////////////////////////////////////////////////////////////////////////////////

workers.tomcat_home=D:\Tomcat 6.0                                      //对应tomcat的安装路径
workers.java_home=C:\Program Files\Java\jdk1.6.0_16              //对应JDK 的安装路径

worker.list=my_tomcat         //应用名,可以任意起,但修改后需要同时修改以下其余字符。

worker.s1.type=ajp13            //通信协议
worker.s1.host=127.0.0.1      //tomcat的IP地址,这里是本机。
worker.s1.port=8009             //tomcat跟JK 的通信端口
worker.s1.lbfactor=1             //用于均衡负载时的配额

#############################

worker.my_tomcat.type=lb     //运行模式,无需修改
worker.my_tomcat.balance_workers=s1   //应用所包含的成员多个可用“,”号隔开。无需修改
worker.my_tomcat.sticky_session=True   //session 粘贴。无需修改

//往下是环境配置,无需修改。

worker.inprocess.class_path=$(workers.tomcat_home)$(ps)classes
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)jasper.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)servlet.jar
worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)webserver.jar
worker.inprocess.class_path=$(workers.java_home)$(ps)lib$(ps)tools.jar
worker.inprocess.cmd_line=-config
worker.inprocess.cmd_line=$(workers.tomcat_home)/conf/server.xml
worker.inprocess.cmd_line=-home
worker.inprocess.cmd_line=$(workers.tomcat_home)
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
worker.inprocess.stdout=$(workers.tomcat_home)$(ps)inprocess.stdout
worker.inprocess.stderr=$(workers.tomcat_home)$(ps)inprocess.stderr
worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)

////////////////////////////////////////////////////////////////////////////////////

uriworkermap.properties 的内容(实际应用时请删除注释):

////////////////////////////////////////////////////////////////////////////////////

/*=my_tomcat         

//所有请求发往应用 my_tomcat 以下的除外,因为以下的是静态文件,由IIS处理。

!/*.gif=my_tomcat
!/*.jpg=my_tomcat
!/*.png=my_tomcat
!/*.html=my_tomcat
!/*.htm=my_tomcat
 

//更多静态文件类型由你们自己添加了。

////////////////////////////////////////////////////////////////////////////////////

 

3,开始 JK 与 IIS 整合。

首先把刚才下载的 JK For IIS  ISAPI过滤器 复制到 tomcat\bin\win32 目录下(没有该目录可以创建)

然后开始 IIS 的设置:

1.  启动Internet服务管理器,首先把该站点的目录路径改为java 程序的路径,对应 tomcat 的docBase 路径 如下图所示:

 

1.  新建虚拟目录jakarta

选择默认WEB站点,点击鼠标右键选择新建虚拟目录如下图所示:

         在新增虚拟目录对话框中输入jakarta,选择isapi_redirect.dll所在的目录,给该虚拟目录赋予可执行权限如下图:

 

3.  创建ISAPI筛选器

右击默认WEB站点选择属性打开WEB站点的属性对话框并选择ISAPI筛选器如下图:

点击新建按钮打开新建筛选器对话框,输入筛选器名称jakarta以及isapi_redirect.dll的绝对路径并确定。

 

4,然后倒入一份注册表的配置,内容如下(实际应用时请删除注释):

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]
"extension_uri"="/jakarta/isapi_redirect.dll"                                         // 对应IIS jakarta虚拟目录的路径
"log_file"="D:\\Tomcat 6.0\\logs\\iis_redirect.log"                                //日志文件路径,用于除错
"log_level"="info"
"worker_file"="D:\\Tomcat 6.0\\conf\\workers.properties"                  //workers.properties 配置文件路径
"worker_mount_file"="D:\\Tomcat 6.0\\conf\\uriworkermap.properties"         //uriworkermap.properties 配置文件路径

创建一个 jk.txt 文档,把以上内容复制进去,然后改名为jk.reg 双击后导入即可。

5.  重新启动IIS

a.       停止默认WEB站点

b.       启动TOMCAT服务器

c.       重新启动服务:World Wide Web Publishing Service

请重新打开图4对话框查看刚添加的筛选器的运行状态,必须有一个绿色向上的箭头。

d.       启动默认WEB站点

然后试试在目录下创建一个 hello.jsp 的程序,看看在浏览器中能否显示出内容。

 

加载中
返回顶部
顶部