• tomcat的相关使用


    tomcat服务器是apache下非常优秀的一款web服务器,当今的互联网企业中90%左右的中小型企业使用的都是tomcat。tomcat在部署项目时有很多很多的解决方案,这些你都清楚吗?

    1、同一个端口部署多个项目

    在webapps下同时防止多个项目,那么在tomcat启动的时候,这些项目都会跑起来。这一点想必大家都知道,在我们初次安装tomcat的时候,webapps下面就有多个项目。这些项目可以相互独立也可以相互影响,比如通过页面重定向技术就可以让本来独立的项目相互影响起来。

    2、默认项目

    刚安装好tomcat的时候我们会启动它,然后在浏览器里直接输入localhost:8080,然后就会进入相关页面,这时老师往往会告诉你安装成功了。但你知道为什么你不输入项目名称直接输入ip和端口号就直接可以访问吗?其实,tomcat有默认的规则,webapps下的项目如果有ROOT名称的项目,那么这个项目就作为默认项目,访问的时候你就不需要加上项目的名称。其次,他为什么可以直接访问的相关的主页呢?原因在于web.xml这个文件里面的<welcome-file-list>标签,你可以在这里配置项目中默认访问的主页。

    当然,你不必每次发布项目时都把自己的项目改名为ROOT,还有另外的一种处理方式,就是重写ROOT项目名称,ROOT名称是tomcat源码里面默认的一个项目名称,但是他也为我们开发者提供了一个便利的手段,通过配置server.xml来实现。我们需要在<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">的标签里面配置<Context path="" docBase="istone-mngwx" debug="0" reloadable="true" />标签就可以了,其中docBase表示重写ROOT的项目名称,path表示虚拟访问路径,空白表示直接可以通过ip加上port就可以访问了。当然前提如果需要修改默认主页的话,需要在web的xml里面修改。

    3、https协议

    tomcat不仅支持http协议还支持https协议,有的时候我们需要将自己的项目发布成https的,那我们就需要在tomcat里面配置了。首先第一步当然需要得到ssl证书,如果自己开发测试就完全可以使用apache的工具自己制作证书了。tomcat支持同一个项目使用不同的端口进行访问,我们完全可以配置另外一个端口走https协议,

    <Connector port="9898" protocol="org.apache.coyote.http11.Http11Protocol"  
                    maxThreads="150" SSLEnabled="true" scheme="https" secure="true"  
                    clientAuth="false" sslProtocol="TLS"   
            keystoreFile="E:GRG项目paybillapache-tomcat-7.0.69-windows-x64apache-tomcat-7.0.69	omcat.keystore"     
                    keystorePass="tomcat"/>

    4、同一个tomcat部署不同端口不同项目

    虽然大多数一个tomcat部署一个项目,多个项目的话就开启多个tomcat,当然在开启多个tomcat的时候,里面的各个端口号最好都做相应的修改。然后通过不同的端口来部署各自的项目。但是对于题目中的这种需求,tomcat也是可以实现的。我们只需要在tomcat的server.xml文件里配置多个service就可以了。然后再service里面配置端口等信息。

      <Service name="Catalina1">
        <Connector port="8098" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />
        <Connector port="8067" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
        <Engine name="Catalina1" defaultHost="localhost">
          <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
          <Host name="localhost" appBase="webapps1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">    
          </Host>
        </Engine>
      </Service>

    最近在部署项目时候遇到了一点问题,于是就把tomcat容器好好研究了一番,突然发现不起眼的tomcat竟然还有如此多的功能,当然这只是tomcat的冰山一角,tomcat8开始的新的NIO访问机制,这都是一些比较底层的东西,有时间的话还是应该看看源码研究一下。

  • 相关阅读:
    json2jsoncpp 高级应用篇
    重载delete(operator delete)
    发布一个 json转c++ 的一个转换小程序(依赖jsoncpp 0.60)
    json2jsoncpp 关键代码分析2
    json2jsoncpp 基础应用篇
    linux下编译android版本的ffmpeg库
    win7系统下无线网卡共享本地网卡给移动设备上网
    使用事件冒泡原理控制菜单或浮层
    多条件Sql语句
    测试 数据库是否链接成功
  • 原文地址:https://www.cnblogs.com/mars-zyt/p/8430055.html
Copyright © 2020-2023  润新知