`

Tomcat与IIS整合手记(转载)

 
阅读更多

Tomcat与IIS整合手记(转载)

[日期:2012-04-01] 来源:  作者: [字体:  ]


付晓波

文件及版本:下载

TomcatApache Tomcat 6.0.18  文件名:apache-tomcat-6.0.18.exe

Java JDKJDK 1.6.11 (JDK 6 u11)  文件名:jdk-6u11-windows-i586-p.exe

连接器:jk2   文件名:isapi_redirector2.dll

注册表文件名:jk2.reg

IIS6

服务器系统:Window 2003 Server + SP2

安装配置IIS6Tomcat6

 

一、装好Window2003Server+SP2IIS6,将首页文档改为index.asp。将下列内容插入index.asp中:

 

<center><h1>现在的时间是:<%=time%></h1></center>

 

如果是本机,则在浏览器中打入http://localhost。如果配置正确,浏览器应该显示当前时间。

由于asp的配置网上很多,这里不再赘述。

二、安装Java JDK,一路默认安装即可。本文安装目录为:E:\Program Files\Java\jdk1.6.0_11

三、设置环境变量:我的电脑-->属性-->高级-->环境变量:

添加:java_home   内容:E:\Program Files\Java\jdk1.6.0_11

添加:tomcat_home    内容:D:\Tomcat6

修改或添加:classpath     内容:.;%java_home%\lib\tools.jar;%java_home%\lib\dt.jar

修改:Path    在最后面添加内容:;%java_home%\bin

四、安装Apache Tomcat 6.0.18,本文安装目录为d:\Tomcat6(没有空格)目录下。可以考虑“全部安装”。安装完毕后,启动Tomcat。这时电脑右下角应有Tomcat正在运行的标志。如果没有或Tomcat未启动,则重新启动服务器。重启后,电脑右下角应有Tomcat正在运行的标志。如果仍不正常,请重装Tomcat

五、Tomcat运行后,在浏览器中打入http://localhost:8080,回车后应出现Tomcat的默认页面。点击左边的“Examples”,看看示例能否正常运行。如果能,则Tomcat基本配置完毕。

六、在D:\vm\jsp目录下新建一个jsp文件:index.jsp,内容如下:

 

<center>index.jsp:现在时间是: <%=new java.util.Date()%></center>

 

七、为Tomcat配置站点。先用“写字板”或“FrontPage”等文本编辑软件将D:\Tomcat6\conf目录下的server.xml文件打开,再保存一下,这样以后用“记事本”打开就没有乱码了。编辑server.xml,在</engine>前加入以下代码:

 

<Host name="test1.com"  appBase="D:\vm\jsp

            unpackWARs="true" autoDeploy="true" 

            xmlValidation="false" xmlNamespaceAware="false"> 

<Alias>test1.com</Alias> 

<Context path="" reloadable="true" docBase="D:\vm\jsp" /> 

</Host>

 

其中:test1.com是域名,通过修改客户机上的C:\WINDOWS\system32\drivers\etc目录下的hosts文件,可以访问test1.com。用记事本打开hosts文件,在最下方添加:

192.168.0.111   test1.com

保存并关闭。其中:192.168.0.111就是服务器的IP地址,请根据实际情况修改。如果是服务器和客户机是一台电脑,则改为127.0.0.1。这样在访问test1.com时实际访问的就是您的服务器。

此时,在浏览器上打http://test1.com:8080回车后,应出现JSP的当前时间。

八、回到IIS管理器,建立一个网站,主机头为test1.com,目录为D:\vm\jsp,保存。首页文档为index.htm

九、在D:\vm\jsp目录下新建一个htm文件:index.htm,内容如下:

 

<center>这是IISindex.htm文件!</center>

 

十、此时,在浏览器上打http://test1.com回车后,应出现“这是IISindex.htm文件!”。

到此,IISTomcat分别配置成功!

IIS6Tomcat6整合

 

一、 将“连接器”文件isapi_redirector2.dll复制到d:\Tomcat6\bin\win32目录下(win32目录要新建)。

二、在d:\Tomcat6\conf目录新建两个文件:jk2.propertiesworkers2.properties

 

jk2.properties的内容如下

## THIS FILE MAY BE OVERRIDEN AT RUNTIME. MAKE SURE TOMCAT IS STOPED

## WHEN YOU EDIT THE FILE.

 

## COMMENTS WILL BE _LOST_

 

## DOCUMENTATION OF THE FORMAT IN JkMain javadoc.

 

# Set the desired handler list

# handler.list=apr,request,channelJni

#

# Override the default port for the socketChannel

# channelSocket.port=8019

# Default: 

# channelUnix.file=${jkHome}/work/jk2.socket

# Just to check if the the config  is working

# shm.file=${jkHome}/work/jk2.shm

 

# In order to enable jni use any channelJni directive

# channelJni.disabled = 0

# And one of the following directives:

 

# apr.jniModeSo=/opt/apache2/modules/mod_jk2.so

 

# If set to inprocess the mod_jk2 will Register natives itself

# This will enable the starting of the Tomcat from mod_jk2

# apr.jniModeSo=inprocess

 

(好像几乎全是注释掉的)

workers2.properties的内容如下

[shm:]

info=Shared memory file. Required for multiprocess servers

file=d:\Tomcat\work\jk2.shm

size=1000000

 

[channel.socket:localhost:8009]

info=Ajp13 worker, connects to tomcat instance using AJP 1.3 protocol

tomcatId=localhost:8009

 

[uri:/] 

[uri:/*.jsp]  

[uri:!/*.asp]

 

(注意要给d:\Tomcat\work\目录everyone写的权限)

其中:[uri:/]代表根路径的首页文件归Tomcat处理;[uri:/*.jsp]代表jsp文件归Tomcat处理;[uri:!/*.jsp]代表asp文件Tomcat处理;其余文件归IIS处理。

 

三、创建一个注册文件jk2.reg,内容如下:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\2.0]

“workersFile”=”D:\\Tomcat6\\conf\\workers2.properties”

“extensionUri”=”/akarta/isapi_redirector2.dll”

“logLevel”=”debug”

“serverRoot”=”D:\\Tomcat6”

 

保存后双击运行这个文件,导入注册表中。

 

四、设置IIS网站的IsApi筛选器:

指向文件D:\Tomcat6\bin\win32\isapi_redirector2.dll


确定后是下面这样:


五、在IIS中创建虚拟目录jakartajakarta是一个规定的名字,必须这么创建,这个虚拟目录要指向isapi_redirector2.dll所在的目录,并且设置为可执行IsApi


六、在IIS的服务器扩展中添加允许isapi_redirector2.dll执行


重启IISTomcat

 

 

 

访问一下http://test1.com,这时先看看IIS默认网站的IsApitomcat是否为绿色。如果不是,砸烂电脑。


可以看到jk2.shm已经被创建了,如果有问题在事件查看器中可以看到筛选器的错误说明


绿色后就可以通过IIS访问Tomcat了,包括Tomcat的虚拟路径也可以。

IIS:     http://test1.com/

tomcat:  http://test1.com/

 

七、workers2.properties中的设置

这个文件中[uri:/*]之类的设置会告诉筛选器符合哪些条件的路径交给tomcat处理,像[uri:/*]会使筛选器把所有的地址都交给tomcat处理,这样IIS中原来ASP的处理便全部都不能用了。

也可以指定某些地址才转向Tomcat,像

[uri:/]

[uri:/*.jsp]

[uri:/admin/*]

[uri:/jsp-examples/*]

[uri:!/*.asp](注意“!”号)

表示/*.jsp  /admin/*  /jsp-examples/*才转向tomcat,其他不符合这些条件的仍由IIS本身处理。

[uri:!/*.asp](注意“!”号)表示*.asp的文件不交给Tomcat处理。

[uri:/]表示根目录的默认文件归Tomcat处理,这样可以直接打开index.jsp这个文件。

八、让IISTomcat支持中文文件名:

IIS:编辑Windows2003的注册表(要重新启动才能生效):

HKLM\System\CurrentControlSet\Services\InetInfo\Parameters\FavorDBCS = 0

 

Tomcat

1>jsp文件最开头加入下面这行(这里是解决中文不能显示的问题):

<%@ page language="java" contentType="text/html; charset=UTF-8" %>

 

 

2>然后改tomcatserver.xml文件(这里是解决含有中文的文件、图片的不能下载、显示的问题): 

<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

debug="0" connectionTimeout="20000" 

disableUploadTimeout="true" URIEncoding="UTF-8"/>

 

URIEncoding="UTF-8" 加上这句就可以识别中文文件了,也就是不光可以在jsp中显示中文,还可以下载显示。

 

九、总结:

1)调好IIS

2)安装JDK1.6,默认安装即可;

3)安装Tomcat6,安装目录选D:\TOMCAT6(不要有空格);

4)设置服务器的环境变量;

5)重启计算机后,设置Tomcat6conf下的server.xml文件,设置虚拟主机,使IISTomcat用同一路径;

6)测试IISTomcat8080端口)

7)注册文件

8)在d:\Tomcat6\conf目录下创建jk2.propertiesworkers2.properties

9IIS建立web服务扩展

10IIS网站建立ISAPI筛选器

11IIS网站建立jakarta虚拟目录,指向D:\TOMCAT\bin\win32,权限为可执行

12)测试整合结果

13)处理中文显示和中文文件名识别的问题。

14)注意D:\TOMCAT目录要everyone可读取;D:\TOMCAT\work目录要everyone可写。

15)如果您是做虚拟主机的,要求客户在你指定的绝对目录下编译,负责你按照他编译的目录设置你的服务器,否则数据库将无法被支持。

16)经过上述设置如果还不行,砸毁你的电脑。

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics