• iis和tomcat(整合)


    ---恢复内容开始---

     

    (一)   为什么要把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://www.jb51.net/softs/186731.html

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

    IIS6.0  =>  JDK  =>  Tomcat  => isapi_redirect,你可以按照这个顺序也可以不按照,但是顺序的前提是:IIS一定要优先于isapi_redirect 否则isapi_redirect安装会找不到IIS导致配置不正确,JDK一定要优先于Tomcat 否则安装Tomcat会找不到JRE导致无法安装。另外JDK也最好优先于isapi_redirect。

    JDK环境变量的设置:

    使用鼠标右击“我的电脑”->属性->高级->环境变量
    系统变量->新建->变量名:JAVA_HOME 变量值:C:Program FilesJavajdk1.7.0_01
    系统变量->新建->变量名:CLASSPATH 变量值:.;%JAVA_HOME%lib
    系统变量->编辑->变量名:Path 在变量值的最前面加上:%JAVA_HOME%in;
    CLASSPATH中有一英文句号“.”后跟一个分号,表示当前路径的意思
    Tomcat环境变量的设置:
    使用鼠标右击“我的电脑”->属性->高级->环境变量
    系统变量->新建->变量名:tomcat_home 变量值:D:Program FilesApache Software FoundationTomcat 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="test.jb51.net" appBase="D:webroot" uppackWARs="true"
                xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="D:webroot" debug="0" reloadable="true"/>
    < /Host>

    name:对应的是你项目的域名;
    appBase:虚拟目录的路径;
    doBase:项目的顶级目录就相当于webapps 中的目录名称;
    配置完成后记得把你的项目复制到D:webroot目录下,我的项目是ecshoping
    注意:tomcat的端口为默认端口8080不要修改
    为了验证你的虚拟目录配置是否正确,打开浏览器输入:test.jb51.net:8080 看看是否可以访问你的项目,如果可以则说明你的项目在tomcat中的部署是正确的。
    注意:如果防火墙开启了,注意在防火墙的例外里添加端口:8080 保证该端口对外开放。另外要保证你的域名解析正确
     
    (六)   IIS配置:

    ü  新建网站,名称随意

    【网站IP地址】:(全部未分配)
    【此网站的主机头】:域名(同tomcatconfserver.xml <Host>标签的"name"属性中的域名相同)
    【网站主目录路径】:虚拟路径+文件夹名(tomcatconfserver.xml<Host>标签的"appBase"属性中的虚拟路径 加上<Context>子标签的"docBase"属性的文件夹名) 勾选【允许匿名访问网站】
    【允许下列权限】:读取、运行脚本、执行
    ü  在此网站下建立虚拟目录 名称:jakarta(必须)
    【路径】: isapi_redirect 安装目录in (isapi_redirect.dll的目录)
    【允许下列权限】:读取、运行脚本、执行
    ü  网站-->右键-->属性:
    1)        【ISAPI筛选器】-->添加--> 【筛选器名称】:jakarta 【可执行文件】: isapi_redirect安装目录inisapi_redirect.dll (isapi_redirect.dll文件)
    2)        【文档】:-->添加-->【默认内容页】:比如index.jsp(对应网站默认首页) -->确定-->把其余的都删掉
    ü  Web服务扩展-->右键-->添加一个新的Web服务扩展:【扩展名】:jakarta(必须)
    【要求的文件】: isapi_redirect安装目录inisapi_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处理,然后将处理结果再返回给客户。

    转载于http://www.jb51.net/article/51924.htm

    ---恢复内容结束---

  • 相关阅读:
    layui动态修改select的选中项
    ES6数组新增方法
    A Realtime BigData Dashboad
    Spark Streaming
    使用Converter实现控件的动态显隐
    Mysql 使用mysqldump进行备份与还原
    大型Java进阶专题(六) 设计模式之代理模式
    HTML开发之--marquee标签
    iOS开发之--instancetype和id
    请求处理常见tag语法
  • 原文地址:https://www.cnblogs.com/China-YangGISboy/p/7003592.html
Copyright © 2020-2023  润新知