Tomcat连接器选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat连接器选择相关的知识,希望对你有一定的参考价值。

Tomcat Connector(Tomcat连接器)有bio、nio、apr三种运行模式。

bio简介

bio(blocking I/O,阻塞式I/O操作),表示Tomcat使用的是传统的Java I/O操作(即Java.io包及其子包)。 
Tomcat7及其以下的版本默认启动的模式,性能最差,没有经过任何优化处理和支持。

nio简介

nio(non-blocking I/O),java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API。拥有比传统I/O操作(bio)更好的并发运行性能。 
Tomcat8及其以上的版本默认启动的模式。

要让Tomcat以nio模式来运行,修改配置文件:tomcat/conf/server.xml

修改以下内容:
<Connector port="8080" protocol="HTTP/1.1"
                    connectionTimeout="20000"
                    redirectPort="8443" />			
修改protocol的值为org.apache.coyote.http11.Http11NioProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
                    connectionTimeout="20000"
                    redirectPort="8443" />

apr简介

apr(Apache Portable Runtime/Apache可移植运行时库),Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。从操作系统级别来解决异步的IO问题,大幅度的提高性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。

要让Tomcat以apr模式来运行,必须安装apr和native

1.安装apr: 
yum -y install apr apr-devel

2.安装native:
http://mirror.bit.edu.cn/apache/tomcat/tomcat-connectors/native/1.1.34/source/tomcat-native-1.1.34-src.tar.gz
tar xzf tomcat-native-1.1.34-src.tar.gz 
cd tomcat-native-1.1.34-src/jni/native/
yum install gcc -y
./configure --with-apr=/usr/bin/apr-1-config
make && make install

3.整合Tomcat apr:
1>.设置环境变量 
方法一:在/bin/catalina.sh中增加1行: 
(在echo “Using CATALINA_BASE: $CATALINA_BASE”的上一行添加) 
CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib" 

方法二:在/etc/profile中加入: 
export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib 
source /etc/profile

2>.修改配置文件:tomcat/conf/server.xml

修改以下内容:
<Connector port="8080" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
修改protocol的值为org.apache.coyote.http11.Http11NioProtocol
<Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
                connectionTimeout="20000"
                redirectPort="8443" />


以上是关于Tomcat连接器选择的主要内容,如果未能解决你的问题,请参考以下文章

在 Rails 上为连接、限制、选择等(不是条件)的 SQL 片段安全地转义字符串

Tomcat连接器选择

为啥使用 tomcat 进行数据库连接池有两种选择(tomcat-dbcp 和 tomcat-jdbc)?

VSCode自定义代码片段——CSS选择器

VSCode自定义代码片段6——CSS选择器

这些角度电子邮件指令代码片段如何连接