xuke123 发表于 2017-1-16 07:30:02

iis tomcat 整合

前几天,自己花了半个月 辛辛苦苦的搞了个网站, 到了发布的时候,才发现服务器的80 端口被 iis占用了。如果 停掉iis ,那么 也只能给1个tomcat。而我的服务器上跑了多个tomcat,于是决定 把iis和tomcat整合使用。

需要使用tomcat的连接器,介绍见http://tomcat.apache.org/tomcat-4.1-doc/config/connectors.html

操作系统WindowsServeer2003,tomcat-5.0.28,j2sdk1.4.2_08

测试环境安装路径:


需要有连接器,在本机目录D:\01_XZY\01_StudyNotes\03_Java\03_JAVA常用类包\IIS+Tomcat连接器\JK-推荐

也可以从网上下载http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/ ,目前最新的是isapi_redirect-1.2.9.dll

这里要保证IIS和Tomcat独立都能正常运行,如IIS的http://127.0.0.1和tomcat的http://127.0.0.1:8080/jsp-examples/都能访问

本节不解释Tomcat的配置和运行。

ü■1在tomcat的bin目录下新建目录jk\
把isapi_redirect-1.2.9.dll拷贝到这个目录下

据网上说这个也可能有权限问题,不过我测试时没有给它设置特别的权限。

ü■2在tomcat的conf目录中创建2个文件
workers.properties
————————————————————————————————————————
workers.tomcat_home=D:\JAVA\TOMCAT5\tomcat-5.0.28

workers.java_home=D:\JAVA\TOMCAT5\j2sdk1.4.2_08

ps=\

worker.list=worker1

worker.worker1.port=8009

worker.worker1.host=localhost

worker.worker1.type=ajp13

worker.worker1.lbfactor=1

————————————————————————————————————————
uriworkermap.properties:说明了符合哪些条件的uri才能被转发到tomcat中
————————————————————————————————————————
/*=worker1

————————————————————————————————————————
可能的设置有:

/*=worker1#所有访问都转发到tomcat中

/*.jsp=worker1#所有*.jsp的才向tomcat转发

/jsp-examples/*=worker1#所有/jsp-examples/*的才向tomcat转发

!/*.gif=worker1 #所有的gif文件都不向tomcat转发,而由IIS处理,注意这表示是所有的而不仅仅是根下的


一个办法:可以把IIS的根和Tomcat的根指向同一个目录(如果有虚拟目录则IIS和Tomcat中都要建立上,并且指向相同的目录),只允许/*.jsp=worker1存在,这样就实现了,所有的*.jsp由tomcat处理,其它的都由IIS处理。



ü■3导入注册表文件xzy.reg
内容如下:

————————————————————————————————————————
Windows Registry Editor Version 5.00




"extension_uri"="/jakarta/isapi_redirect-1.2.9.dll"

"log_file"="D:\\JAVA\\TOMCAT5\\tomcat-5.0.28\\logs\\isapi.log "

"worker_file"="D:\\JAVA\\TOMCAT5\\tomcat-5.0.28\\conf\\workers.properties"

"worker_mount_file"="D:\\JAVA\\TOMCAT5\\tomcat-5.0.28\\conf\\uriworkermap.properties"

"log_level"="realease"

————————————————————————————————————————
双击运行这个文件,导入注册表中

日志被存放在 ,如果把"log_level"="realease"改成"log_level"="debug"日志里会增长的很快,里面写了转发的情况


ü■4设置IIS默认网站的IsApi筛选器

指向文件D:\JAVA\TOMCAT5\tomcat-5.0.28\bin\jk\isapi_redirect-1.2.9.dll


确定后是这个样子:

保存这些设置

ü■5在IIS中创建虚拟目录jakarta
jakarta是一个规定的名字,必须这么创建,这个虚拟目录要指向isapi_redirect-1.2.9.dll所在的目录,并且设置为可执行IsApi




ü■6在IIS的服务器扩展中添加允许isapi_redirect-1.2.9.dll执行

最后应为


ü■7重启IIS和Tomcat进行测试
重启IIS和Tomcat。

这时先看看IIS默认网站的IsApi的tomcat是否为绿色


如果不是(好像刚刚配置万重启后总不是绿色)则访问http://127.0.0.1:8080 http://127.0.0.1:8080/jsp-examples/ http://127.0.0.1 把IIS和Tomcat的都访问访问,之后再看就是绿色的了???,之后即使重启计算机也是绿色的,如果有问题在事件查看器中可以看到筛选器的错误说明

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

IIS:   http://127.0.0.1/

tomcat:http://127.0.0.1/index.jsp

注意只有在workers.properties中描述的uri才能被转发到tomcat上




Ø(16)、IIS+Tomcat(JK2 不推荐)07-11-11
操作系统WindowsServeer2003,tomcat-5.0.28,j2sdk1.4.2_08

测试环境安装路径:


需要有连接器,在本机目录D:\01_XZY\01_StudyNotes\03_Java\03_JAVA常用类包\IIS+Tomcat连接器\JK2-不推荐

也可以从网上下载(http://archive.apache.org/dist/tomcat/tomcat-connectors/jk2/binaries/win32/jakarta-tomcat-connectors-jk2.0.4-win32-IIS.zip)。

这里要保证IIS和Tomcat独立都能正常运行,如IIS的http://127.0.0.1和tomcat的http://127.0.0.1:8080/jsp-examples/都能访问

在网站http://tomcat.apache.org/tomcat-4.1-doc/config/connectors.html看到jk2已经不推荐使用了,现在推荐的是jk,很奇怪,为什么jk2不推荐反而推荐jk。

本节不解释Tomcat的配置和运行。

ü■1在tomcat的bin目录下新建目录win32\i386
把连接器中的isapi_redirector2.dll拷贝到这个目录中


ü■2在tomcat的conf目录中创建2个文件
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 configis 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:这个文件没有,需要创建,内容如下:蓝色部分要根据实际情况改变

———————————————————————————————————————


info=Shared memory file. Required for multiprocess servers

file=D:\JAVA\TOMCAT5\tomcat-5.0.28\work\jk2.shm
size=1000000




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

tomcatId=www.hggkzx.com:8009







————————————————————————————————————————
jk2.shm会在IIS设置好筛选器启动后自动创建,之类的说明会在■8中说明,这个设置会促使筛选器把所有的地址都通过tomcat来处理,这个文件修改后必须重启IIS后才能生效

ü■3导入注册表文件xzy.reg
内容如下:

————————————————————————————————————————
Windows Registry Editor Version 5.00

"workersFile"="D:\\JAVA\\TOMCAT5\\tomcat-5.0.28\\conf\\workers2.properties"

"extensionUri"="/jakarta/isapi_redirector2.dll"

"logLevel"="debug"

"serverRoot"="D:\\JAVA\\TOMCAT5\\tomcat-5.0.28"

————————————————————————————————————————
双击运行这个文件,导入注册表中

ü■4设置IIS默认网站的IsApi筛选器

指向文件D:\JAVA\TOMCAT5\tomcat-5.0.28\bin\win32\i386\isapi_redirector2.dll


确定后是这个样子:

保存设置

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




ü■6在IIS的服务器扩展中添加允许isapi_redirector2.dll执行

最后应为


ü■7重启IIS和Tomcat进行测试
重启IIS和Tomcat。

这时先看看IIS默认网站的IsApi的tomcat是否为绿色


如果不是(好像刚刚配置万重启后总不是绿色)则访问http://www.hggkzx.com:8080 http://www.hggkzx.com:8080/jsp-examples/ http://127.0.0.1 把IIS和Tomcat的都访问访问,之后再看就是绿色的了???,之后即使重启计算机也是绿色的,可以看到jk2.shm已经被创建了,如果有问题在事件查看器中可以看到筛选器的错误说明


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

IIS:   http://www.hggkzx.com/

tomcat:http://www.hggkzx.com/index.jsp
页: [1]
查看完整版本: iis tomcat 整合