iis和tomcat(整合)
---恢复内容开始---
(一) 为什么要把IIS、Tomcat整合到一起?
假如你遇到这种情况,你开发了一个javaweb项目要部署到服务器上,但是这个服务器上已经部署了asp、asp.net或者PHP项目都在IIS环境下运行着,这时你的tomcat就不能再用80这个端口了,这时你就必须考虑整合iis与tomcat一起工作。网上收集了很多关于tomcat与iis整合的文章,多数写的含糊不清,疏忽每一个细节都很难整合成功,经过分析实践,我决定花费一点时间把这个总结分享出来,希望对用的到的朋友能有所帮助。
(二) 下面介绍我整合成功的软件环境:
ü 服务平台 window server 2003
ü IIS6.0(大多服务器上默认都已经安装过了)
ü apache-tomcat-7.0.29.exe(建议到官网下载,我这里是安装版的)
ü jdk-7u1-windows-7.0.exe(建议到官网下载)
ü isapi_redirect-1.2.14.exe(我这里采用的是安装版的,非安装版的需要手都编写配置文件和手动配置注册表,其原理都是一样,为了避免出错、方便建议采用安装版的)
下载地址:http://www.jb51.net/softs/186731.html
(三) 软件安装是安装顺序是非常有必要的,下面是软件安装的先后顺序:
IIS6.0 => JDK => Tomcat => isapi_redirect,你可以按照这个顺序也可以不按照,但是顺序的前提是:IIS一定要优先于isapi_redirect 否则isapi_redirect安装会找不到IIS导致配置不正确,JDK一定要优先于Tomcat 否则安装Tomcat会找不到JRE导致无法安装。另外JDK也最好优先于isapi_redirect。
JDK环境变量的设置:
使用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0_01
系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib
系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%\bin;
CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思
Tomcat环境变量的设置:
使用鼠标右击“我的电脑”->属性->高级->环境变量
系统变量->新建->变量名:tomcat_home 变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
(四) 验证软件安装是否正确:
ü 验证isapi_redirect是否安装正确:isapi_redirect的安装目录可以自己定义,网上说必须要安装在tomcat跟目录,这个没必要。
安装完毕isapi_redirect后你会发现IIS默认网站下会出现一个虚拟目录jakarta
右击虚拟目录jakarta 查看属性
是否存在jakarta的筛选器。至于向上的绿色箭头可能没有(网上很多都指出要求由此,实际上只有配置之后首次访问的时候,才进行加载)只要不是红色就可以。 到次为之说明您的isapi_redirect安装正确。
ü 验证JDK是否环境变量配置是否正确,开始=》运行=》输入cmd =》输入java命令或者javac或者java –version是否出现相应命令的结果,如果有则说明JDK配置正确
ü 验证tomcat是否安装正确:浏览器中输入http://localhost:8080 是否出现
如果出现这个页面则说明tomcat安装正确;
注意:检查tomcat安装目录下的lib目录是否包含tools.jar文件,如果没有到JDK中复制一个到tomcat的lib目录下,tools.jar这个文件至关重要,否则isapi_redirect就不能正常的工作。
ü 验证iis是否工作正常 浏览器中输入 http://localhost 是否出现
如果出现则说明iis工作正常
以上验证都没有出现问题的话,那么我们的准备工作就完成了。下面我们就进行相应的配置工作。
(五) Tomcat的配置:
在tomcat的配置主要是配置虚目录,打开tomcat的server.xml文件,加入
<Host name="test.jb51.net" appBase="D:\webroot" uppackWARs="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\webroot" debug="0" reloadable="true"/>
< /Host>
name:对应的是你项目的域名;
appBase:虚拟目录的路径;
doBase:项目的顶级目录就相当于webapps 中的目录名称;
配置完成后记得把你的项目复制到D:\webroot目录下,我的项目是ecshoping
注意:tomcat的端口为默认端口8080不要修改
为了验证你的虚拟目录配置是否正确,打开浏览器输入:test.jb51.net:8080 看看是否可以访问你的项目,如果可以则说明你的项目在tomcat中的部署是正确的。
注意:如果防火墙开启了,注意在防火墙的例外里添加端口:8080 保证该端口对外开放。另外要保证你的域名解析正确
(六) IIS配置:
ü 新建网站,名称随意
【网站IP地址】:(全部未分配)
【此网站的主机头】:域名(同tomcat\conf\server.xml <Host>标签的"name"属性中的域名相同)
【网站主目录路径】:虚拟路径+文件夹名(tomcat\conf\server.xml<Host>标签的"appBase"属性中的虚拟路径 加上<Context>子标签的"docBase"属性的文件夹名) 勾选【允许匿名访问网站】
【允许下列权限】:读取、运行脚本、执行
ü 在此网站下建立虚拟目录 名称:jakarta(必须)
【路径】: isapi_redirect 安装目录\bin (isapi_redirect.dll的目录)
【允许下列权限】:读取、运行脚本、执行
ü 网站-->右键-->属性:
1) 【ISAPI筛选器】-->添加--> 【筛选器名称】:jakarta 【可执行文件】: isapi_redirect安装目录\bin\isapi_redirect.dll (isapi_redirect.dll文件)
2) 【文档】:-->添加-->【默认内容页】:比如index.jsp(对应网站默认首页) -->确定-->把其余的都删掉
ü Web服务扩展-->右键-->添加一个新的Web服务扩展:【扩展名】:jakarta(必须)
【要求的文件】: isapi_redirect安装目录\bin\isapi_redirect.dll (isapi_redirect.dll文件)
勾选【设置扩展状态为允许】保存
(七) 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
该文件为默认的配置,一般不需要修改,保证跟以上一致就行
到此为止你可以倒杯咖啡来享受一下整合成功的喜悦了。此时你输入你的域名就可以直接访问你的javaweb项目了,而不用再加8080端口了。当iis接受到一个jsp网站isapi_redirect会转发到tomcat处理,然后将处理结果再返回给客户。
转载于http://www.jb51.net/article/51924.htm
---恢复内容结束---
iis和tomcat(整合)的更多相关文章
- win2008 IIS与tomcat整合
1.在tomcat目录下新建jk文件夹 2. Copy isapi_redirect.dll到jk,并新建一个isapi_redirect.properties配置文件,内容如下: extension ...
- 利用IIS应用请求转发ARR实现IIS和tomcat整合共用80端口
现在网上流传的实现iis和tomcat共享80端口的方法是基于isapi_redirect插件实现的, 我的实现方法不同, 原理相似,具有更好的优点. 先说下基于isapi_redirect缺点,ja ...
- Apache与Tomcat整合
Apache与Tomcat整合 一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache ...
- Apache与Tomcat整合(转)
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- Nginx+Tomcat整合的安装与配置(win.linux)
//原帖 http://zyjustin9.iteye.com/blog/2017394 上面是windows系统,linux直接下拉到分割线. 相信很多人都听过nginx,这个小巧的东西慢慢地在吞食 ...
- linux下apache和tomcat整合
一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等. 一般使用apache+tomcat的话,apache只是作为一个转发,对jsp的处理是由 ...
- 使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞
使用Nginx 让IIS和Tomcat等多个站点一起飞 前言: 养成一个好习惯,解决一个什么问题之后就记下来,毕竟“好记性不如烂笔头”. 这样也能帮助更多的人 不是吗? 最近闲着没事儿瞎搞,自己在写一 ...
- 转载--tomcat整合apr
原文地址: http://zhaosheng.wolf.blog.163.com/blog/static/115304589201212845341723/ APR(Apache Portable R ...
- IIS和tomcat共用80端口
IIS和tomcat共用80端口 很多机器都需要同时使用tomcat和iis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,今天实际操作了一回,以下是具体步骤: 实现tomcat和ii ...
随机推荐
- .NET 开源开发项目【翻译】
原文地址 本文列出了 .NET 开源开发项目(open source developer projects).意在包括对开发过程的所有方面有所帮组的项目.对于消费项目(consumer project ...
- ROS中测试机器人里程计信息
在移动机器人建图和导航过程中,提供相对准确的里程计信息非常关键,是后续很多工作的基础,因此需要对其进行测试保证没有严重的错误或偏差.实际中最可能发生错误的地方在于机器人运动学公式有误,或者正负号不对, ...
- window7开启Administrator账户
需求描述: 在工作遇见,安装部分软件,对目录不具有写权限.为了彻底解决问题.启用Administrator账户! 问题解决: 激活Administrator账户,并设置密码 重启系统,用Adminis ...
- Ubuntu18.04命令行连接WiFi
查看是否已经正确安装无线网卡 iwconfig .启动无线网卡, 如果网卡是wlan0 # 方式1 ifconfig wlan0 up # 或者方式2 ip link set wlan0 up .扫描 ...
- TerminateProcess的使用问题
最好时外部进程来结束目标进程,类似于任务管理器的结束目标进程方式.如果是自身进程想结束自身,可能不同版本的windows行为不一致,有一些能自身强制退出,有一些强制退出不了. 本来MSDN上就说了这个 ...
- dos 批量重命名 bat
@echo off setlocal enabledelayedexpansion echo %var% set /a i = i + var for %%x in (*) do ( if not & ...
- 11G新特性 -- archival(long-term)backups
在oracle 10g中,提供了backup ... keep功能来重载配置好的retention策略. 在oracle 11g中,可以重定义backup ... keep命令来创建长期保留的备份,称 ...
- Effective Java 第三版——52. 明智而审慎地使用重载
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所 ...
- SNF快速开发平台MVC-EasyUI3.9之-ueditor富文本编辑在 asp.net MVC下使用步骤
mvc项目中用到了这个富文本编辑就试着把遇到的问题个使用步骤在这里记录一下,希望大家少走弯路. 1.首先我们先下载net版本的uediot 2.然后把整个文档拷贝到我们的项目中,记得是整个 把下载的文 ...
- 老司机在zabbix上的一次翻车
[前言] 自以为是zabbix的老司机了,没有想到今天翻车了! 一般人出错了都可以找到一个借口.我就不一样啦,我感觉我可以找两个1): 针对官方文档 给出的操作步骤没有经过深入的思考 2): 今天没有 ...