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
三种部署如下:
直接把Web项目放在webapps下,Tomcat会自动将其部署
在server.xml文件上配置
<Context>
节点,设置相关的属性即可:- 在其他盘符(可以是非tomcat下目录)下创建一个web站点目录,并创建WEB-INF目录和一个html文件。
- 找到Tomcat目录下/conf/server.xml文件。
- 在server.xml中的节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径
<Context path="/web1" docBase="D:\web1"/>
通过Catalina来进行配置:进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。编写XML的方式来进行设置:
- 进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
- xml文件的代码如下,docBase是你web站点的绝对路径 。
<?xml version="1.0" encoding="UTF-8"?>
<Context
docBase="D:\web1"
reloadable="true">
</Context>
tomcat-四种运行模式和三种部署模式(优化)的更多相关文章
- mac学习Python第一天:安装、软件说明、运行python的三种方法
一.Python安装 从Python官网下载Python 3.x的安装程序,下载后双击运行并安装即可: Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的. MAC 系统一般 ...
- Solon 开发,四、Bean 扫描的三种方式
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- Java-五种线程池,四种拒绝策略,三种阻塞队列(转)
Java-五种线程池,四种拒绝策略,三种阻塞队列 三种阻塞队列: BlockingQueue<Runnable> workQueue = null; workQueue = n ...
- JSP学习(2)---四种基本语法与三种编译指令
JSP的异常可以不处理,即使是checked异常. 四种基本语法: jsp声明,jsp注释,jsp表达式,jsp脚本 三种编译指令: page,include,taglib 下面是具体的练习. sho ...
- 【朝花夕拾】Android自定义View篇之(四)自定义View的三种实现方式及自定义属性使用介绍
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10979161.html],谢谢! 尽管Android系统提供了不少控件,但是有很多酷炫效果仍然 ...
- C++中实现回调机制的几种方式(一共三种方法,另加三种)
(1)Callback方式Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型. 比如下面的示例代码,我们在Down ...
- Android开发之去掉标题栏的三种方法,推荐第三种
Android:去掉标题栏的三种方法和全屏的三种方法 第一种:一般入门的时候常常使用的一种方法 onCreate函数中增加下面代码: requestWindowFeature(Window.FEATU ...
- JAVA文件的两种读取方法和三种写入方法
在使用java对文件进行读写操作时,有多种方法可以使用,但不同的方法有不同的性能. 此文对常用的读写方法进行了整理,以备不时之需. 1.文件的读取 主要介绍两种常用的读取方法.按行读取和按字符块读取. ...
- html(常用标签,标签分类),页面模板, CSS(css的三种引入方式),三种引入方式优先级
HTML 标记语言为非编程语言负责完成页面的结构 组成: 标签:被<>包裹的由字母开头,可以结合合法字符( -|数字 ),能被浏览器解析的特殊符号,标签有头有尾 指令:被<>包 ...
随机推荐
- App后台Keynote
[App后台Keynote] 一.基础. 1.一个 节省 流量 的 处理 方法 是 让 App 下载 经过 压缩 的 图片( 一般 是 几十 KB 以下), 当 用户 需要 查看 原图 时 才 下载 ...
- lenet-5
https://blog.csdn.net/happyorg/article/details/78274066 深度学习 CNN卷积神经网络 LeNet-5详解 2017年10月18日 16:04:3 ...
- Linux驱动之异常处理体系结构简析
异常的概念在单片机中也接触过,它的意思是让CPU可以暂停当前的事情,跳到异常处理程序去执行.以前写单片机裸机程序属于前后台程序,前台指的就是mian函数里的while(1)大循环,后台指的就是产生异常 ...
- Pandas 合并 concat
pandas处理多组数据的时候往往会要用到数据的合并处理,使用 concat是一种基本的合并方式.而且concat中有很多参数可以调整,合并成你想要的数据形式. 1.axis(合并方向):axis=0 ...
- pytbull:入侵检测/预防系统测试框架 (转)
pytbull:入侵检测/预防系统测试框架 或许当你安装了 IDS/IPS(入侵检测/预防系统)之后就感觉系统安全无忧了,但如何确信?答案是测试.pytbull 是使用 Python 开发而成的 ID ...
- Connection lost: The server closed the connection
想必很多初学者都会遇到这个问题 其实很简单.mysql有个机制,就是8小时无通信,myslq就会自动关闭数据; 解决方案(2选1): 或者: 1.定时去做一个查询,就是 select * from X ...
- DVR NVR
1.NVR: 是(Network Video Recorder即网络硬盘录像机)的缩写.NVR最主要的功能是通过网络接收IPC(网络摄像机)设备传输的数字视频码流,并进行存储.管理,从而实现网络化带来 ...
- zeromq学习记录(六)C语言示例
考虑到官方的示例c语言是最多的 官方未使用C++语言演示的例子就使用VC编译C语言例子 记录在此 /************************************************** ...
- Django高级篇三。restful的解析器,认证组件,权限组件
一.rest=framework之解析器 1)解析器作用. 根据提交的数据.只解析某些特定的数据.非法数据不接收,为了系统安全问题 比如解析的数据格式有 有application/json,x-www ...
- _ZNote_Qt_Tips_添加动态链接库
之前添加都是 手写添加,今天陈老师提示可以在 .pro 文件内空白处,右键弹出添加