IIS整合tomcat

IIS6.0+Tomcat7.0整合总结

(一)   为什么要把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://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.14/isapi_redirect-1.2.14.exe

(三)   软件安装是安装顺序是非常有必要的,下面是软件安装的先后顺序:

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="www.yimen-china.com" appBase="D:\soyaweb\www.yimen-china.com" uppackWARs="true"

xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="ecshoping" debug="0" reloadable="true"/>

</Host>

name:对应的是你项目的域名;

appBase:虚拟目录的路径;

doBase:项目的顶级目录就相当于webapps 中的目录名称;

配置完成后记得把你的项目复制到D:\soyaweb\www.yimen-china.com目录下,我的项目是ecshoping

注意:tomcat的端口为默认端口8080不要修改

为了验证你的虚拟目录配置是否正确,打开浏览器输入:www.yimen-china.com: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处理,然后将处理结果再返回给客户。

时间: 2024-10-07 06:38:58

IIS整合tomcat的相关文章

阿里云服务器win2003下iis整合tomcat共享80端口

阿里云服务器win2003下iis整合tomcat共享80端口 很多机器都用tomcat跟IIS部署不同网站.最近买了阿里云的服务器.于是也想玩一下.网上百度了很多方法.但是都有缺陷说的不是很清楚.通过日志查看以及谷歌.尝试了很多方法终于配置OK.         第一.整合环境:Windows Service 2003.JDK1.60.IIS6.0 和tomcat7.0         第二.使用技术:IIS6.0和TOMCAT6.0的默认端口不用改变,使用原有的80和8081(因为本人数据库

iis和tomcat(整合)

---恢复内容开始--- (一)   为什么要把IIS.Tomcat整合到一起?假如你遇到这种情况,你开发了一个javaweb项目要部署到服务器上,但是这个服务器上已经部署了asp.asp.net或者PHP项目都在IIS环境下运行着,这时你的tomcat就不能再用80这个端口了,这时你就必须考虑整合iis与tomcat一起工作.网上收集了很多关于tomcat与iis整合的文章,多数写的含糊不清,疏忽每一个细节都很难整合成功,经过分析实践,我决定花费一点时间把这个总结分享出来,希望对用的到的朋友能

利用IIS应用请求转发ARR实现IIS和tomcat整合共用80端口

现在网上流传的实现iis和tomcat共享80端口的方法是基于isapi_redirect插件实现的, 我的实现方法不同, 原理相似,具有更好的优点. 先说下基于isapi_redirect缺点,java 项目作为iis下的一个虚拟目录存在, iis下的项目使用顶级域名, tomcat下的项目只能作为二级目录访问; 例如iis下项目 使用www.iisproject.com访问, 则tomcat下的项目只能 www.iisproject.com/tomcatproject 这么访问, 如此变得不

win2008 IIS与tomcat整合

1.在tomcat目录下新建jk文件夹 2. Copy isapi_redirect.dll到jk,并新建一个isapi_redirect.properties配置文件,内容如下: extension_uri=/Jakarta/isapi_redirect.dll log_file=d:/Tomcat6/logs/isapi_redirect.log log_level=info worker_file=d:/Tomcat6/conf/workers.properties worker_moun

说说iis,tomcat,nginx

一.nginx ngnix是反向代理服务器,它是代理,本身并不执行,是个传话筒,把用户提交的请求转发给web服务器,再把web服务器的结果转发给用户.为了提高性能,启用反向代理,实际的web服务器可以有很多台,而ngnix放在前面,可以把这些web服务器整合成一个虚拟的更强大的服务器. 二.iisiis和tomcat是两种不同的web服务器,iis是微软开发的,主要用来跑asp.net asp php. 三.tomcat tomcat是apache基金会的,主要用来跑jsp php python

apache整合tomcat部署集群

近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以apache和tomcat整合相互取长补短,由apache作为入口,如果是请求静态页面或者是静态文件,由apache直接提供,如果是请求动态页面,则让apache分发到tomcat,由tomcat处理以后再响应给客户端. apache和tomcat的整合需要准备的一些软件列表: 图1 说明: 1.首先

Apache整合Tomcat、集群

1.1     使用mod_proxy整合 使用mod_proxy整合Tomcat需要我们开启Apache的代理功能,代理功能的开启可以通过在Apache的conf/httpd.conf文件中将如下内容前的“#”号去除,这样Apache就能在运行的时候加载mod_proxy模块了,从而开启了Apache的代理功能. #LoadModule proxy_module modules/mod_proxy.so 开启了mod_proxy之后我们还需要选择一个协议来作为Apache代理Tomcat的协议

nginx整合tomcat

环境:nginx ubuntu ip:10.12.18.112 tomcat1 ubutu ip:10.12.18.105 tomcat2 centos ip:10.12.18.127 client win7 ip:10.12.18.116 安装包:nginx-1.8.0.tar.gz Nginx 下载:http://nginx.org/en/download.html 解压 sudo tar –zxf nginx-1.8.0.tar.gz –C /usr/src 创建用户和组 sudo gro

nginx整合tomcat集群并做session共享----测试案例

最近出于好奇心,研究了一下tomcat集群配置,并整合nginx,实现负载均衡,session共享,写篇记录,防止遗忘.---------菜鸡的自我修炼. 说明:博主采用一个web项目同时部署到两台tomcat下,(tomcat-A,tomca-B),使用nginx做反向代理,按照设置的权值,将请求分发到后台的tomcatA/tomcat-B,并且实现session共享. 配置好本地域名指向:修改host文件:添加 127.0.0.1  www.domain.com.cn 新建项目:tiny-d