IIS 8.0集成 TOMCAT

  • A+
所属分类:Java Web
需求: 搭建web服务器, 绑定域名, 与tomcat集成。
系统环境:  OS: windows server 2012 R2

1.安装IIS8.0 Web服务器

windows7用远程桌面连接连接服务器, 进入"服务器管理器", 查看"仪表板"。(因为安装好的IIS,所以有IIS)
在右上角点击"管理"  -> "添加角色和功能" -> "基于角色或功能的安装" -> "从服务器池中选择服务器" -> 选择Web服务器, 选择功能点
勾选.NET Framework 3.5, 之后进行安装一直到最后
安装完成后回到仪表板, 点击"工具" -> "IIS" 进入IIS
就表明IIS安装好了。输入localhost就可以看到IIS8.0的页面了,用其他电脑输入服务器的IP也可以看到IIS8.0的广告了。

2.使用自己的网页

新建的都有一个默认网站, Default Web Site, 将你的html文件放到服务器上,例如D:\jack, 单击Default Web Site,然后在右侧有一个基本设置,将物理路径指向D:\jack,那么输入服务器IP就会访问D:\jack\index.html了,还可以添加虚拟路径, 新建网站等等。

3.绑定域名

首先在默认网站下设定自己购买的域名, 点击绑定,填写域名
然后去域名控制面板将其解析到服务器IP上,然后24小时内再输入你的域名就可以看到你自己的网页文件了。

4.IIS8.0 和 tomcat集成

大致如下:

1).安装和配置AJP Connector
2).添加ISAPI 过滤
3).添加虚拟路径
4).用户认证
5).注册ISAPI扩展程序
6).允许双重转义

step 1).安装和配置AJP Connector

谷歌或者国内镜像下载,这次的存起来 http://download.csdn.net/detail/cjvs9k/9500123
下载好ISAPI文件存放在C:\tomcat_iis_connector目录下,如下图所示。(其实可以随意放在,不过下载的配置文件默认是放在这里)
IIS 8.0集成 TOMCAT
进去各个文件看一下大概知道什么意思,修改conf\workers.properties.minimal,增加一行tomcat的位置。
IIS 8.0集成 TOMCAT

step 2).添加ISAPI 过滤 (ISAPI Filters)

打开ISAPI筛选器,如果没有这个图标请安装,像安装IIS8.0一样,英文教程 https://www.iis.net/configreference/system.webserver/isapifilters
ISAPI筛选器
ISAPI筛选器是在启用 ISAPI 的 HTTP服务器上运行的 DLL,用以筛选与服务器之间来回传送的数据。该筛选器注册事件的通知,例如登录或 URL 映射。当发生选定事件时,筛选器被调用,并且您可以监视及更改数据(在数据从服务器传输到客户端或相反的过程中)。可以使用 ISAPI筛选器提供增强的 HTTP 请求记录(例如,跟踪登录到服务器的用户)、自定义加密、自定义压缩或其他身份验证方法。
双击进入填好指向路径
IIS 8.0集成 TOMCAT

step 3).添加虚拟路径

什么叫虚拟路径,知道linux的人都知道,linux是可以挂载的,这个虚拟路径也是这个道理,类似于指针,指向真实的物理路径。
完了后回到面板,点击处理程序映射

step 4).用户认证

在面板选择身份验证,启用windows身份验证
IIS 8.0集成 TOMCAT

step 5).注册ISAPI扩展程序

进入后选择编辑,允许执行扩展程序即可
IIS 8.0集成 TOMCAT

step 6).允许双重转义

什么叫双重转义,比如 http://www.wnopos.com/question/why+we+so+good+and+convenient 带有+号就是双重转义,这个在搜索引擎中很常见。

回到面板,选择请求筛选,右侧的编辑功能设置,允许双重转义即可。
这个时候访问我的个人域名 http://connonfodder.cn/ 就能看到亲爱的tomcat页面了


补充: IIS过滤请求获得相应的页面


在集成Tomcat后,网站下默认的index.html不会被访问而是直接跑到Tomcat里面去拿数据了,再来认识一下本质,IIS-Tomcat只是一个过滤转发工具,配置文件可以规定转发规则, 这个时候需要编辑uriworkermap.properties,设定 /.jsp=work1, 可以去看看官方解释.
这样一来除非是JSP,就不会去Tomcat里面拿数据了。
  1. The IIS-Tomcat redirector is an IIS plugin (filter + extension), IIS load the redirector plugin and calls its filter function for each in-coming request.
  2. The filter then tests the request URL against a list of URI-paths held inside uriworkermap.properties, If the current request matches one of the entries in the list of URI-paths, the filter transfer the request to the extension.
  3. The extension collects the request parameters and forwards them to the appropriate worker using the defined protocol like ajp13 .
  4. The extension collects the response from the worker and returns it to the browser.

IIS-Tomcat 重定向是一个IIS插件,IIS加载后过滤每一个请求,如果在uriworkermap.properties有匹配到其中之一就会将请求传给IIS

那么针对PHP,JSP,.NET 这些如何整合呢?
Defining workers is done in workers.properties, this file includes two types of entries:

An entry that lists all the workers defined

 

worker.list=worker1, worker2
Entries that define the host and port associated with these workers

 

worker.worker1.host=localhost

 

worker.worker1.port=8009

 

worker.worker1.type=ajp13

 

worker.worker2.host=otherhost

 

worker.worker2.port=8009

 

worker.worker2.type=ajp13

The above example defined two workers, now we can use these workers to serve two different contexts each with its own worker :

example uriworkermap.properties fragment

 

/examples/*=worker1

 

/webpages/*=worker2

As you can see the examples context is served by worker1 while the webpages context is served by worker2 .

weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: