IIS和tomcat共用80端口

很多机器都需要同时使用tomcat和iis两个服务器以部署不同的网站,而解决共用80端口的问题也经常遇到,今天实际操作了一回,以下是具体步骤:

实现tomcat和iis共用80端口的思路其实就是利用iis可以建立多个网站的功能,将tomcat下的项目添加为iis的一个站点,再使用一个可以redirect的插件,将iis中指向此站点的请求交给tomcat来处理。

1、  首先,需要一个可以实现redirect的插件isapi_redirect,可以到网上下载,我使用的是isapi_redirect-1.2.14.dll;

2、然后,在随便哪个地方建立一个注册表编辑文件.reg,并输入以下内容:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation]

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector]

[HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0]

"extension_uri"="/jakarta/isapi_redirect.dll"         /*文件名称可以改,路径最好别改,因为要和iis中的筛选器配置对应*/

"worker_file"="C:\\Tomcat 6.0\\conf\\workers.properties"   /*具体由自己的路径定/

"worker_mount_file"="C:\\Tomcat 6.0\\conf\\uriworkermap.properties"   /*同上*/

"log_file"="C:\\Tomcat 6.0\\logs\\isapi.log"

"log_level"="info"

3、在tomcat的conf文件夹下建立workers.properties文件,并输入以下内容:

worker.list=ajp13

worker.ajp13.type=ajp13

worker.ajp13.host=localhost

worker.ajp13.port=8009

4、同样建立uriworkermap.properties内容如下

/*.jsp=ajp13

/*.do=ajp13

/*=ajp13

5、在tomcat的log目录下建立isapi.log文件,内容为空即可

6、Tomcat6.0目录下新建jakarta文件夹,然后把isapi_redirect.dll放入其中.

7、配置tomcat的server.xml文件

在<Engine></Engine>节点下,修改

<Host name="www.xxxx.com"  appBase="webapps"

unpackWARs="true"

xmlValidation="false" xmlNamespaceAware="false">

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

</Host>

的内容,name为网站要设的域名,下面在iis里新建网站的时候域名要和这个一样;docBase的值为网站文件夹,即”.. Tomcat 6.0\webapps\”下项目文件夹的名称;

8、运行.reg文件, 并打开HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0项,检查右边项目中是否包含如下项:

extension_uri /jakarta/isapi_redirect.dll (jakarta为IIS下的虚拟目录)

log_file c:\Tomcat6.0\logs\isapi.log (指定JK插件使用的日志文件)

log_level debug (指定日志级别)

worker_file c:\Tomcat6.0\conf\workers.properties (指定JK插件的工作文件)

worker_mount_file c:\ Tomcat6.0\conf\uriworkermap.properties (指定JK插件的URL映射)

如果没有上述项,则建立相关项和相关值

9、以上为tomcat配置;

10、打开“管理工具”-“Internet信息服务(IIS)管理器”,展开“本地计算机”,选择网站,如图:

在右侧点右键,新建-网站,点击“下一步”,输入网站描述(内容随便),点击“下一步”,输入“主机头”,如图:

下一步,选择主目录(tomcat下webapps里的项目根目录),勾选“运行匿名访问”,如图:

下一步,在“允许权限”里,勾选“执行…”选项,以支持isapi_redirect,如图:

下一步,完成网站新建。

11、在新建的网站上点右键选“属性”,在弹出的页框里选择“ISAPI筛选器”,点“添加”,筛选器名称填jakarta,可执行文件中填入isapi_redirect-1.2.14.dll的绝对路径(包括文件名),如图:

一路确定。

12、再在“此网站”上右键,选择“新建”->“虚拟目录”,别名填jakarta,下一步,路径选为你的isapi_redirector.dll存放的目录(不包括文件名),下一步,权限中记得把“执行”那项打勾,好了,完成。

13、应用程序扩展名映射:在主目录里点配置,在跳出的窗口应用程序配置中增加.jsp应用程序扩展名映射,可执行文件指向 isapi_redirect-1.2.14.dll文件(并且将该输入框中的所有内容用“”括起来,否则会提示应使用()括起来【但此处的()应为 “”,是系统汉化时的翻译错误】),动作限制为GET,HEAD,POST,DEBUG (手动输入)如图:

14、在“Internet信息服务管理器”的“网站”中的“Web服务扩展”上点右键选择“添加一个新的Web服务扩展”,

弹出的框中扩展名填JSP(无所谓的,自己随便设置名称),“要求的文件”选“添加”然后找到你的isapi_redirector.dll后“确定”。 “设置扩展状态为允许”也打上勾,确定。添加之后,如图:

15、重启IIS,重启Tomcat.

16、检查新建的网站是否加载成功isapi_redirect-1.2.14.dll文件,在网站的属性里,切到筛选器页,

如图则加载成功。

17、测试http://www.xxxx.com/

标签: IIS, tomcat, 共用, 80, 部署

IIS和tomcat共用80端口的更多相关文章

  1. IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口

    IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口 背景: 最近公司有一个项目要上线,需要用到iis和tomcat整合,共用80端口.由于公司的数据都非常重要,只通过端口映射到外网的8 ...

  2. IIS与Apache共用80端口方法

    IIS与Apache共用80端口 http://www.cnblogs.com/haocool/p/3595282.html Windows server 2003服务器上安装有默认 IIS 6和Ap ...

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

    阿里云服务器win2003下iis整合tomcat共享80端口 很多机器都用tomcat跟IIS部署不同网站.最近买了阿里云的服务器.于是也想玩一下.网上百度了很多方法.但是都有缺陷说的不是很清楚.通 ...

  4. iis和apache共用80端口,IIS代理转发apache

    为什么共用80端口应该不用多说了,服务器上程序运行环境有很多套,都想抢用80端口,所以就有了共用80端口的解决方案. 网上很多的教程一般都是设置APACHE使用默认80端口,代理转发IIS的网站,II ...

  5. IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容

    环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: 以下是使用IIS的域名: http://www.formuch.com/ http://www.fo ...

  6. (转)IIS tomcat共用80端口解决一个IP多个域名:使用Nginx反向代理方式使两者兼容

    from :http://www.cnblogs.com/wuyou/p/3455619.html 环境: windows server 2003,IIS6服务器,Tomcat7服务器 域名有几个: ...

  7. IIS与Apache共用80端口

    Windows server 2003服务器上安装有默认 IIS 6和Apache两个服务器,IIS运行的一个.net程序,apache运行php程序,现在想让它们同时都能通过80端口访问,设置起来还 ...

  8. 详解nginx 配置多个tomcat共用80端口

    场景:项目1放在tomcat1中,项目2放在tomcat2中,两个tomcat放在同一台服务器上,需要共享80端口访问注意:这里和集群部署是不同的,集群部署是一个项目放在多个tomcat中.这里通过n ...

  9. 通过Nginx反向代理,IIS和apache 共用80端口

    #user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log notice; #error ...

随机推荐

  1. LINQ使用Lambda表达式选择几列

    学习LINQ的Lambda的表达式,尝试从数据集合中,选择其中几列. 创建一个model: source code: namespace Insus.NET.Models { public class ...

  2. UML类图

    类 类图分三层,第一层显示类的名称,如果是抽象类,那就用斜体显示.第二层是类的特性,通常就是字段和属性.第三类是类的操作,通常是方法或行为.注意前面的符号,‘ +’表示public ,‘-’表示 pr ...

  3. matlab 调用dos命令和文件操作

    第一.利用!直接调用,简单方便,可以带操作对象:!del A.bat 第二.调用system函数或者dos函数,既可以实现功能,又返回参数,能检查执行情况,方便后面程序的开发,推荐这个 [status ...

  4. Telerik UI For WinForms--关于RadGridView的列排序

    在使用RadGridView绑定数据后,我希望属性的显示顺序按继承层次显示,但实际是相反的.下面示例两个类: public class A { public string Astr { get; se ...

  5. UrlRewriter实现.NET的URL重写

    首先下载安装MSDNURLRewriting.msi,链接地址http://pan.baidu.com/s/1c0pRnTu. 在安装目录下找到RewriterTester\bin\URLRewrit ...

  6. FireMonkey 导出目前 Style 另存文件

    FireMonkey 能将目前使用的 Style 导出成文件,它提供二种文件格式,请看下列代码: *.style procedure TForm1.Button1Click(Sender: TObje ...

  7. DokuWiki用storage的模式在sae上部署后速度太慢

    利用sae做的io wrapper接口,对dokuwiki做了基于sae的分布式storage存储改造,能正常安装和运行,但速度太慢,基本没什么用. 定义一个常量: define('SAESTORE_ ...

  8. Vue从零开始(一)

    一.什么是Vue? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层 ...

  9. 树链剖分求LCA

    树链剖分中各种数组的作用: siz[]数组,用来保存以x为根的子树节点个数 top[]数组,用来保存当前节点的所在链的顶端节点 son[]数组,用来保存重儿子 dep[]数组,用来保存当前节点的深度 ...

  10. Nibbler – 免费的网站测试和指标评分工具

    Nibbler 是一款免费的工具,用于测试网站的各个方面指标.输入任意网站的地址,Nibbler 会给你一份报告,列出网站的10个关键领域的分数,包括可访问性,用户体验,搜索引擎优化,社交媒体和技术等 ...