IIS和tomcat共用80端口整合解决方案.docx
《IIS和tomcat共用80端口整合解决方案.docx》由会员分享,可在线阅读,更多相关《IIS和tomcat共用80端口整合解决方案.docx(9页珍藏版)》请在冰豆网上搜索。
![IIS和tomcat共用80端口整合解决方案.docx](https://file1.bdocx.com/fileroot1/2022-12/8/ade215da-5a62-4fff-b2b0-4940c3785b99/ade215da-5a62-4fff-b2b0-4940c3785b991.gif)
IIS和tomcat共用80端口整合解决方案
IIS和tomcat共用80端口整合解决方案
(2016-05-21)
一、问题描述:
1、环境描述:
Win2003X64服务器,IIS6
2、zzzz集团jsp网站程序:
域名www.zzzz.sc
aaaa网.net网站程序:
域名
3、通过访问jsp、net网站域名访问网站
二、工作原理:
实现tomcat和iis共用80端口的思路其实就是利用iis可以建立多个网站的功能,将tomcat下的项目添加为iis的一个站点,再使用一个可以redirect的插件,将iis中指向此站点的请求交给tomcat来处理。
此处用到的redirect的插件是isapi_redirect.dll
32位的安装包直接用安装包方式即可:
此处jspweb为32位应用,故采用32位的isapi_redirect-1.2.14.exe。
三、安装过程中遇到的问题:
1、IIS7中能很好的解决80端口共存问题,但是Win2003无法安装IIS7版本;
2、64位的IIS部署jsp程序过程中,选用32位的isapi_redirect.dll,windows事件管理器中会出现:
选用64位的isapi_redirect.dll,事件管理器中会出现:
总之,就是创建的isapi筛选器无法加载成功,如下图:
3、在问题2上没有解决思路,在台式机环境为Win764位、iis7上以同样的方式部署,遇到问题:
网上查找相关资料,在下图的一个其他的问题中看到一句话,将应用池高级配置中的“启用32位应用程序”启用。
启用32位应用程序后,在地址栏输入localhost和localhost:
8080访问的都是jsp测试页面,测试成功!
!
!
服务器上的问题有了解决思路:
需要64位win2003IIS6运行32位的应用程序。
4、64位iis6运行32位应用程序后,在网站属性中,没有选项页,即便加载完ASP.NETv2.0.50727,也没有。
a)在服务中停止IISAdminService(同时会提示是否停止对应的其他,将这些服务都停止)
b)打开文件”C:
\WINDOWS\system32\inetsrv\MetaBase.xml”,
删除Enable32BitAppOnWin64='TRUE'这句话后保存文件。
注意:
Enable32BitAppOnWin64='TRUE'说明64位iis6运行32位应用程序已开启,在选项卡中设置完.net版本后,需再添加
Enable32BitAppOnWin64='TRUE'这句话,否则访问网站也会报错
c)重新启动IISAdminService服务和IIS后就可以看到ASP.netTab
四、部署步骤:
1、安装jdk、tomcat;并配置环境变量,部署jsp程序,确保可以通过ip+端口方式运行;此处zzzz集团通过ip+8070.
2、让64位系统下的iis改成32位运行:
a)在dos窗口中运行命令:
即修改IIS配置,允许32位程序运行
cscript.exe%SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbsSETW3SVC/AppPools/Enable32bitAppOnWin641
b)重新注册.netframeWorks
%SYSTEMROOT%\Microsoft.NET\framework\v2.0.50727\aspnet_regiis.exe–i
完成之后,IIS的Web服务扩展,会多出一个32位的将其设置为允许。
问题是:
现在所有的程序都将以32位兼容方式运行了。
所以部署上的.net程序也需要安装32位的.netFramework程序,并注册后在web服务器扩展中新增32位的framework4.0扩展;64位的可以禁用;
3、IIS上创建站点,指向tomcat网站
a)在IIS信息管理器中右键单击网站,新建网站,在下图中输入站点描述;
网站路径选择到webapp下的程序目录。
访问权限,勾选“执行(如isapi应用程序或CGI)”。
完成。
b)右击新建站点,选择属性,打开ISAPI筛选器,点击“添加”,名称中必须输入“jakarta”,可执行文件,选择isapi_redirect.dll存放路径,此处存放在Tomcat66\conf\目录中。
主目录-配置-添加,添加应用程序扩展名映射,扩展名输入”.do”;可执行文件中选择isapi_redirect.dll存放路径;动作中选择限制为,输入:
GET,HEAD,POST,DEBUG。
在添加扩展名为“.jsp”的映射,可执行文件和动作同上。
4、右键点击www.zzzz.sc站点,选择新建-虚拟目录;别名中比如输入“jakarta”;
路径中选择isapi_redirect.dll存放路径
虚拟目录访问权限,勾选“执行(如isapi应用程序或cgi)”;
5、在Tomcat66\conf下新建workers.properties文件,内容如下:
workers.tomcat_home=f:
\Tomcat66\
workers.java_home=C:
\ProgramFiles(x86)\Java\jre6
ps=\
worker.list=ajp13
worker.ajp13.type=ajp13
worker.ajp13.host=www.zzzz.sc
worker.ajp13.port=8010
其中8010是server.xml文件中Connector节点的port值。
新建uriworkermap.properties文件,内容如下:
/*.jsp=ajp13
/*.do=ajp13
/*=ajp13
6、新建注册表:
由于是Win200364位系统,打开注册表项:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ApacheSoftwareFoundation\JakartaIsapiRedirector\1.0,添加项目:
extension_uri/jakarta/isapi_redirect.dll(jakarta为IIS下的虚拟目录)
log_fileF:
\Tomcat66\logs\isapi.log(指定JK插件使用的日志文件)
log_leveldebug(指定日志级别)
worker_fileF:
\Tomcat66\conf\workers.properties(指定JK插件的工作文件)
worker_mount_fileF:
\Tomcat66\conf\uriworkermap.properties(指定JK插件的URL映射)
7、重启IIS、重启Tomcat
到iis中查看jsp网站属性,ISAPI筛选器,jakarta状态为绿色向上箭头。
输入域名访问jsp网站,正常。
五、有价值参考资料:
IIS和tomcat共用80端口
64位win2003IIS6运行32位的.NET程序
IIS网站属性中没有ASP.NET选项