windows server 2008r2 2012 r2同时用tomcat和iis,iis转发tomcat请求,解决服务器80端口冲突

前言:我看了网上很多文章,很多都不能完美解决windows服务器上同时用iis和tomcat的问题,有一些文章可以解决,可是演示的是老版本的windows server,步骤有差异,特写此文章与大家分享。该教程演示版本为windows server 2008r2,2003以上的版本都可以按照这个方法配置。

实现原理:
使用iis的处理程序映射功能,当文件为*.jsp时,转发给tomcat处理,处理完成后让iis把内容发送回给客户端,客户端看到的访问端口是80。

第一步:
安装服务器必要的环境和程序,安装顺序是非常有必要的,下面是软件安装的先后顺序:
IS6.0 => JDK => Tomcat => isapi_redirect
你可以按照这个顺序也可以不按照,但是顺序的前提是:IIS一定要优先于isapi_redirect 否则isapi_redirect安装会找不到IIS导致配置不正确,JDK一定要优先于Tomcat 否则安装Tomcat会找不到JRE导致无法安装。另外JDK也最好优先于isapi_redirect。
isapi_redirect下载地址:http://www.jb51.net/softs/186731.html
官网有新版的,不过最新版的在2008r2下不能正常使用,建议用安装版的,免去编辑注册表和生成文件的麻烦。

IS6.0 、 JDK 和 Tomcat的安装就不在此重复说了,需要的可以自行百度,网上很多这样的文章,写的比我好。相信在看这篇文章的读者对这三个程序的安装和配置已经很熟悉了。

建议把 isapi_redirect安装在tomcat的根目录。

注意:原来iis有部署其他网站的安装后如果不能正常访问,请把该网站的jakarta虚拟目录删除,然后点击iis管理器里的计算机名,点击isapi和CGI限制,删除jakarta 即可。

第二步:配置tomcat
在tomcat目录下的conf目录下找到server.xml,打开编辑,修改<host标签:修改示例:

 <Host name="域名"  appBase="C:/wwwroot/www/"
            unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
	<Context path="" docBase="C:/wwwroot/www/Site" debug="0" reloadable="true"/>
     
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
      </Host>

主要修改name、appBase和docBase,其中docBase为项目的目录。

本机输入http://localhost:8080
检查网站是否能正常访问。
注意:不用修改tomcat的8080端口为80!

第三步:iis配置
安装完毕isapi_redirect后你会发现IIS默认网站下会出现一个虚拟目录jakarta,如果没有请手动为要发布的网站添加:
选中网站,右键,添加虚拟目录,名称jakarta,物理路径选择isapi_redirect安装目录下的bin目录。

注意:网站设置的物理路径必须和tomcat配置的路径已经,否则iis会拦截出现404错误!

点击网站,点击ISAPI筛选器,右键点击空白处添加,筛选器名称jakarta,可执行文件选择isapi_redirect安装目录下的bin目录下的isapi_redirect.dll文件,确定。

下一步,点击网站,点击处理程序映射,右键点击空白处添加脚本映射…,请求路径填写*.jsp(如果用restful风格写的,请求路径填写*),可执行文件选择isapi_redirect安装目录下的bin目录下的isapi_redirect.dll文件,名称JSP,确定。

下一步,点击网站,点击默认文档,右键点击空白处添加,填写index.jsp,确定。

第四步:isapi_redirect的配置
打开isapi_redirect目录下conf目录,修改uriworkermap.properties文件,该文件的具体内容如下:

# uriworkermap.properties - IIS
#
# This file provides sample mappings for example wlb
# worker defined in workermap.properties.minimal
# The general syntax for this file is:
# [URL]=[Worker name]
 
/admin/*=wlb
/manager/*=wlb
/jsp-examples/*=wlb
/servlets-examples/*=wlb
/ecshoping/*=wlb
 
# Optionally filter out all .jpeg files inside that context
# For no mapping the url has to start with exclamation (!)
 
!/servlets-examples/*.jpeg=wlb
 
#
# Mount jkstatus to /jkmanager
# For production servers you will need to
# secure the access to the /jkmanager url
#
/jkmanager=jkstatus
/*.jsp=wlb
/*.action=wlb
/*.do=wlb
/*=wlb 

解释:wlb可理解为过滤器名称

/.jsp等等 为请求过滤的规则,isapi_redirect判断当iis收到该请求时交给tomcat处理。/ecshoping/=wlb 指定你要过滤的项目

继续修改文件,打开isapi_redirect目录下conf目录,修改workers.properties.minimal文件,该文件的内入如下:

# workers.properties.minimal -
#
# This file provides minimal jk configuration properties needed to
# connect to Tomcat.
#
# The workers that jk should create and work with
#
 
worker.list=wlb,jkstatus
 
#
# Defining a worker named ajp13w and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13w.type=ajp13
worker.ajp13w.host=localhost
worker.ajp13w.port=8009
 
#
# Defining a load balancer
# 
 
worker.wlb.type=lb
worker.wlb.balance_workers=ajp13w
 
#
# Define status worker
#
 
worker.jkstatus.type=status

至此,配置完成,可以通过80端口间接访问tomcat服务器了!
有问题欢迎评论留言!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Win7 系统 IIS7+Tomcat7 集成 通过 iistomcat 的集成可以让 tomcat 处理 jsp,iis 处理 asp 和 html 静态页面。 一、 安装 tomcat 我所用的 Tomcat 是最新版的 7.0.27 直接安装版,安装的位置是 D:\Program Files\Tomcat7, 记住这个路径会多次用到,注意在 Tomcat 之前一定要安装 JDK,这里我用的是 jdk1.7. 二、 配置 IIS 进入 Win7 的控制面板,打开程序功能,点击选择打开或关闭 Windows 功能 在 Windows 功能的选项菜单,把 internet 信息服务的所有的组件全部勾起来。 第 1 页 在使用32位的isapi_redirect.dll时要修改程序池:打开网站对应的应用程序池的 高级设置 ,在常规里有个选项【启用32位应用程序】,默认是False,改成 True 注意:安装完成后 IIS 的地址是 http://localhost 和 tomcat 的地址 http://localhost:8080 看看出 没出现默认画面。 三、 集成 Tomcat 1、连接器 jk 在 tomcat 的 bin 目录下新建目录 jk\,把下载的 isapi_redirect.dll(连接器,可从网上下载 http://mirror.bit.edu.cn/apache//tomcat/tomcat-connectors/jk/binaries/windows/ ,我使用的是 1.2.28),拷贝到这个目录下。 2、在 tomcat 的 conf 目录下创建两个文件 workers.properties,uriworkermap.properties Workers.properties 文件的内容: workers.tomcat_home=D:\ProgramFiles\Tomca7 workers.java_home=D:\ProgramFiles\Java\jdk1.7 ps=\ worker.list=worker1 worker.worker1.port=8009 worker.worker1.host=localhost worker.worker1.type=ajp13 worker.worker1.lbfactor=1 uriworkermap.properties 文件的内容(注意:这个文件说明了符合哪些条件的 uri 才能被转发tomcat 中,可能的设置有) 第 2 页 /*=worker1 /*.jsp=worker1 3、导入注册表文件 tomcat.reg 任意的在哪里建一个文本文档,命名为 tomcat.reg,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Jakarta Isapi Redirector\1.0] "log_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\logs\\isapi.log" "log_level"="debug" ;#workers.properties 物理路径 "worker_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\conf\\workers.properties" ;#uriworkermap.properties 物理路径 "worker_mount_file"="D:\\Program Files\\Apache\\Tomcat 6.0\\conf\\uriworkermap.properties" ;#这是iis服务器中的虚拟路径,这里jakarta保持不变,后边是文件名,在iis网站中虚拟目录为jakarta "extension_uri"="/jakarta/isapi_redirect.dll" 4、建立网站的虚拟目录 打开你的 Internet 信息服务管理器,进入管理页面,展开左边的连接栏,选择你的一个网站, 这里我的网站名是 tomcat,主目录是 e:\tomcat,鼠标单击右键添加虚拟目录,打开虚拟目录对 话框。 第 3 页 别名处写上 jakarta,其中 jakarta 是一个规定名字,必须这么创建,这个虚拟目录要指向 isapi_redirect.dll 的所在目录,并且设置为可执行 IsApi. 5、添加筛选器 选中自己的网站,选择 ISAPI 筛选器,如图所示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值