zoukankan      html  css  js  c++  java
  • tomcat-四种运行模式和三种部署模式(优化)

    • 四中运行模式如下:
    • 1-bio: 传统的Java I/O操作,同步且阻塞IO。

    • 2-nio: JDK1.4开始支持,同步阻塞或同步非阻塞IO

    • 3-aio(nio.2): JDK7开始支持,异步非阻塞IO

    • 4-apr: Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。

    • 下面是配置Tomcat运行模式改成是NIO模式,并配置连接池相关参数来进行优化:

    •  
      <!--
          <Connector port="8080" protocol="HTTP/1.1"
                     connectionTimeout="20000"
                     redirectPort="8443" />
          -->
          
      <!-- protocol 启用 nio模式,(tomcat8默认使用的是nio)(apr模式利用系统级异步io) -->
          
      <!-- minProcessors最小空闲连接线程数-->
          
      <!-- maxProcessors最大连接线程数-->
          
      <!-- acceptCount允许的最大连接数,应大于等于maxProcessors-->
          
      <!-- enableLookups 如果为true,requst.getRemoteHost会执行DNS查找,反向解析ip对应域名或主机名-->
          
      <Connector port = "8080"
       
      protocol="org.apache.coyote.http11.Http11NioProtocol"
       
              
      connectionTimeout="20000"
              
      redirectPort="8443
      
              maxThreads=“500” 
              minSpareThreads=“100” 
              maxSpareThreads=“200”
              acceptCount="200"
              enableLookups="false"       
          />
      

        

      apr模式启动起来是比较复杂的,详情可参考:http://blog.csdn.net/wanglei_storage/article/details/50225779

      对于bio,nio,nio.2的理解可参考:http://blog.csdn.net/itismelzp/article/details/50886009

      三种部署如下:

    1. 直接把Web项目放在webapps下,Tomcat会自动将其部署

    2. 在server.xml文件上配置 <Context>节点,设置相关的属性即可:

      1. 在其他盘符(可以是非tomcat下目录)下创建一个web站点目录,并创建WEB-INF目录和一个html文件。
      2. 找到Tomcat目录下/conf/server.xml文件。
      3. 在server.xml中的节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径
      4. <Context path="/web1" docBase="D:web1"/>
    3. 通过Catalina来进行配置:进入到confCatalinalocalhost文件下,创建一个xml文件,该文件的名字就是站点的名字。编写XML的方式来进行设置:

      1. 进入到confCatalinalocalhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
      2. xml文件的代码如下,docBase是你web站点的绝对路径 。
      3. <?xml version="1.0" encoding="UTF-8"?><Context docBase="D:web1" reloadable="true"></Context>
  • 相关阅读:
    AD域撤销域用户管理员权限方案
    域普通用户执行金蝶K/3权限不够解决方法
    redis安装windows+64位
    解决pycharm中no python interpreter configured问题
    python3报错---Error in sitecustomize; set PYTHONVERBOSE for traceback: NameError: name 'reload' is not defined
    python+robot+oracle:执行脚本时中文sql报错:UnicodeEncodeError: 'ascii' codec can't encode
    git-最简单的操作流程
    pycharm配置后执行RF脚本
    性能测试-jmeter基础5-设计数据自动递增
    性能测试-jmeter基础4-设置日期的递增参数demo
  • 原文地址:https://www.cnblogs.com/hongchengshise/p/10371231.html
Copyright © 2011-2022 走看看