Windows IIS + JK + Tomcat 的最简单配置。[转载]
转载地址:http://www.oschina.net/question/17_2491
?
最近研究不少 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 的程序,看看在浏览器中能否显示出内容。