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>