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

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

背景: 最近公司有一个项目要上线,需要用到iis和tomcat整合,共用80端口。由于公司的数据都非常重要,只通过端口映射到外网的80端口,其它端口都不开放。 我部署的环境是Win2008R2_x64, IIS7和JDK1.7.0_51,tomcat7.0.59

一.关闭Windows2008中IE增强的安全配置。

服务器管理器----配置IE ESC----管理员和用户都选择禁用 .如图。

二 .IIS安装

安装:

1.   右键点击 “计算机”,在弹出菜单中选择“管理”选项,在服务器管理器左侧界面

2.   点击 “角色”选项,如下图:

3. 点击“添加角色”按钮后,弹出如下界面

4.  选择“角色”列表中的“Web服务器(IIS)”和“应用程序服务器”,点击“下一步”

5. 点击“添加必须的功能”按钮后,进行下一步操作:

下一步

6.   安装完成后,点击下图中的“关闭”按钮完成Web服务器的安装。

7.   验证iis是否工作正常 浏览器中输入 http://localhost 是否出现

三。 安装JDK1.7.0_51

下载JDK1.7.0_51.  安装过程省略,直接下一步,默认路径即可。

下载地址:http://down.51cto.com/data/2054127

windows环境下安装JDK之后环境变量是这样配置的:

前是变量名,后为变量值。(JAVA_HOME和CLASSPATH需要新建,PATH不需要)

    1. JAVA_HOME:C:\Program Files\Java\jdk1.7.0_51
    2. PATH:%JAVA_HOME%/bin;%JAVA_HOME%/jre/bin
    3. CLASSPATH:.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar

验证: java -version

四。安装TOMCAT 7.0.59

下载tomcat7,直接下载解压就可以了, 工作路径为D:/tomcat7/

下载地址:http://down.51cto.com/data/2054129

五。IIS与TOMCAT整合

  1. 创建注册表tomcat_IIS.reg文件。

    下载地址:http://down.51cto.com/data/2054131

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ApacheSoftware Foundation\Jakarta Isapi Redirector\1.0]

    "extension_uri"="/jakarta/isapi_redirect.dll"

    "log_file"="D://tomcat7//logs"

    "log_level"="debug"

    "tomcat_start"="D://tomcat7//bin//tomcat.batstart"

    "tomcat_stop"="D://tomcat7//bin//tomcat.batstop"

    "worker_file"="D://tomcat7//conf//workers.properties"

    "worker_mount_file"="D://tomcat7//conf//uriworkermap.properties"

注意:导入注册表后一定要使用regedit打开注册表,查看是否导入成功。注册表中是否包含上述的项和字符串值。
很多时候提示导入成功却注册表中没有该项

2.  在tomcat安装目录下conf文件夹下建立两个文件

下载地址:http://down.51cto.com/data/2054132

文件1:workers.properties
    workers.tomcat_home=D:\\Tomcat7

workers.java_home=C:\\ProgramFiles\\Java\\jdk1.6.0_43

ps=\

worker.list=ajp13

worker.ajp13.port=8009

worker.ajp13.host=localhost

worker.ajp13.type=ajp13

worker.ajp13.lbfactor=1

文件2:uriworkermap.properties

/*.jsp=ajp13

/*.do=ajp13

/services*=ajp13

/servlet*=ajp13

/researchreport/*=ajp13

/investerminal/*=ajp13

/researchreport2/*=ajp13

/issuu/*=ajp13

/newInvesterminal/*=ajp13

/NewWeb/*=ajp13

/UserRangeServer/*=ajp13

/ROOT/*=ajp13

/docs/*=ajp13

/examples/*=ajp13

/host-manager/*=ajp13

/manager/*=ajp13


3 . 拷贝isapi_redirect.dll(整合插件)到tomcat安装目录下conf文件夹

下载地址:http://down.51cto.com/data/2054133

4. 打开IIS7.5,点击左边的计算机名在IIS管理器中的“ISAPI和CGI限制”里面右键添加,路径选择为tomcat安装目录下conf文件夹的isapi_redirect.dll,并设定“允许执行扩展路径”,描述名可取jakarta

5. 接着单击Default Web Site,选择ISAPI筛选器,并右键添加筛选器,名称可取jakarta,可执行文件选择tomcat安装目录下conf文件夹isapi_redirect.dll

6. 在Default Web Site上右键"添加虚拟目录",别名取jakarta(必须是jakarta名称,名称必须和注册表里"extension_uri"的值的名字一致),路径指向tomcat安装目录下conf文件夹,即isapi_redirect.dll所在目录。

7. 点击虚拟目录jakarta,双击“处理程序映射”,最右边(第三分栏里面)选择“编辑功能权限...”将所有权限(执行权限)选上。

8. 在Default Web Site上,双击“处理程序映射”,右键"添加脚本映射",请求路径写*.jsp,可执行文件选择tomcat安装目录下conf文件夹isapi_redirect.dll。名称随便写,例如JSP。

9 .验证 访问http://127.0.0.1/index.jsp

原理: 前端IIS主要负责静态页面的请求,动态请求会通过整合插件转给tomcat(后端)来处理。

***************************** 六 。遇到的问题***********************************

我在部署过程中,遇到几个问题,如下:

  1. 整合插件isapi_redirect.dll的目录一定要和workers.properties、uriworkermap.properties放在一起,都放到tomcat的conf目录当中,不然会报错(404错误)。

2.  新建注册表文件的时候,注意32位系统和64位系统路径是不一样的,这点要特别注意,导入注册表之后,还要验证一下是否导入成功。

32位系统注册表路径:

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

64位系统注册表路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ApacheSoftware Foundation\Jakarta Isapi Redirector\1.0

时间: 2024-12-24 21:12:14

IIS7和Tomcat7整合,即IIS7和Tomcat共用80端口的相关文章

阿里云服务器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应用请求转发ARR实现IIS和tomcat整合共用80端口

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

apache和tomcat公用80端口

原理主要利用apache的代理. 第一步:修改apache的httpd.conf配置文件. 首先,要让apache支持转发也就是做tomcat的代理那么就要先启用apache的代理模块.首先我在Apache\conf目录下面找到httpd.conf文件,用记事本打开该文件找到以下几行代码: #LoadModule proxy_module modules/mod_proxy.so #LoadModule proxy_connect_module modules/mod_proxy_connect

Linux tomcat 配置80端口启动不了情况的解决

配置tomcat为80端口,启动tomcat,发现tomcat无法启动,出现错误: LifecycleException:  Protocol handler initialization failed: java.net.BindException: Permission denied <null>:80 看打印出来的日志是权限不够,后来搜索发现Linux下,root权限才能启动1024以下端口的程序 临时解决办法:采用端口转发,对外开放80端口,通过80端口转发到内部的 tomcat 80

IIS Tomcat共享80端口

为什么有这种需求, 原因是这样的, 公司有一个Java的web项目,在另一台服务器A上,最近老板一时兴起,想把他合并到这台稳定点的服务器B上,服务器B上使用IIS来寄宿asp.net 网站, 怎么办呢,硬着头皮上吧,在网上找各种解决方案: 解决方案一:isapi_redirect 这个方法按照方法试了N次就是没搞定, 解决方案二:IIS反向代理 基本逻辑就是请求来到IIS,IIS根据路由规则把请求转发给Tomcat处理,然后tomcat把响应返回给IIS, 这个方案依然只是IIS独占端口80,看

linux下tomcat的80端口被占用的解决办法

故障:网站无法访问 分析:netstat -an查看到大量的80端口进程僵死,重启tomcat.tomcat启动失败,网页依然无法打开. 停止tomcat进程shutdown.sh,停止tomcat后telnet 127.0.0.1 80,发现80端口依然可用.netstat -an|grep 80 查看发现有许多80端口进程在里面,使用kill pid命令终止进程,无用.使用lsof -i :80|grep -v "PID"|awk '{print "kill -9&quo

tomcat用80端口可以启动,但是浏览器不显示tomcat首页

一.打开运行(ctrl+r)->输入cmd->确定->输入netstat -ano 结果检测到 :80端口被system 占用,如图所示 打开进程发现确实被 PID为 4 的引用程序占用了(system进程(pid=4)占用80端口) 二.解决方案 打开 控制面板->系统和安全->管理工具->Internet 信息服务(IIS)管理器->打开->右键停止  操作如下图所示 这样之后,system进程(pid=4)占用80端口的问题就引刃而解了,至此,80端口

ubuntu下Tomcat绑定80端口

转载自:https://www.2cto.com/os/201102/84081.html 工作环境迁移到了Ubuntu,很多东西发生了变化,比如原先配置tomcat端口.只需要配置server.xml文件就可以了.但是在Ubuntu下,只修改了server.xml文件后发现无法访问到服务.起初以为是有别的进程占用了80端口,但是通过netstat -an | grep 80后并没有发现有进程在占用80,Google了一下,发现tomcat使用1023以下的端口时需要使用authbind来指定.

安装酷痞到IIS7.x共用80端口Windows(64位)系统下运行多个酷痞

需求: 1.酷痞直接运行的模式是自宿主运行.由于win系统一般都由iis提供多个网站服务,并首先占用了80端口,如果想酷痞可以直接通过主机头和iis共用80端口会出现这种运行模式的需求. 以下是实现方法,请按步操作: 1.下载iis的应用程序请求路由模块和URL重写模块,运行微软提供的web 平台安装程序 *http://www.microsoft.com/zh-cn/download/details.aspx?id=6164 *搜"arr"所有安装选择"应用程序请求路由&q