功能
归档
595
2017 年 07 月 22 日
Tomcat的三种模式及部署两个项目

Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下:

这三种模式的不同之处如下:

●BIO:
 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。
Tomcat7或以下,在Linux系统中默认使用这种方式。
●NIO:
 利用Java的异步IO处理,可以通过少量的线程处理大量的请求。
Tomcat8在Linux系统中默认使用这种方式。
Tomcat7必须修改Connector配置来启动:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
         connectionTimeout="20000" redirectPort="8443"/ >
●APR:
  即Apache Portable Runtime,从操作系统层面解决io阻塞问题。 
Tomcat7或Tomcat8在Win7或以上的系统中启动默认使用这种方式。 
Linux如果安装了apr和native,Tomcat直接启动就支持apr。

官方对这三种的区别的详细说明:

Java Blocking Connector Java Nio Blocking Connector APR/native Connector
BIO NIO APR
Classname AjpProtocol AjpNioProtocol AjpAprProtocol
Tomcat Version 3.x onwards 7.x onwards 5.5.x onwards
Support Polling NO YES YES
Polling Size N/A maxConnections maxConnections
Read Request Headers Blocking Sim Blocking Blocking
Read Request Body Blocking Sim Blocking Blocking
Write Response Blocking Sim Blocking Blocking
Wait for next Request Blocking Non Blocking Non Blocking
Max Connections maxConnections maxConnections maxConnections

Tomcat启动的时候,可以通过log看到Connector使用的是哪一种运行模式:


Starting ProtocolHandler ["http-bio-8080"] Starting ProtocolHandler ["http-nio-8080"] Starting ProtocolHandler ["http-apr-8080"]

例如:


安装apr来提高tomcat 的可伸缩性和性能(Tomcat的APR模式需要)


1.apr和apr-util

下载apr和apr-util最新版

http://apache.fayea.com/apr/

此次试验下载版本为:

apr-1.5.0.tar.gz
apr-util-1.5.3.tar.gz

解压文件

tar xf apr-1.5.0.tar.gz 
tar xf aor-util-1.5.3.tar.gz

安装apr和apr-util

cd /ane/apr-1.5.0
./configure --prefix=/ane/apr
make && make install            #编译安装
cd /ane/apr-util-1.5.3
./configure --prefix=/ane/apr-util --with-apr=/ane/apr
make && make insatll

2.tomcat-native

下载tomcat-native

http://tomcat.apache.org/download-native.cgi

安装 tomcat-native

cd /ane/native/
tar xf tomcat-native.tar.gz
tomcat-native-1.1.29-src/jni/native
./configure --with-apr=/ane/apr --with-java-home=/ane/java/jdk1.7.0_25
make && make install

设置 apr 的环境变量

vim /etc/profile


#在文本的最后面添加以下内容 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ane/apr/lib source /etc/profile #使profile生效,

启动tomcat并查看catalina.out


cd /ane/tomcat/bin ./startup.sh tail -500f /ane/tomcat.logs/catalina.out

出现:

org.apache.catalina.core.AprLifecycleListener.init Loaded APR based Apache Tomcat Native library 1.1.29 using APR version 1.5.0.

则apr安装成功


tomcat使用同一端口号部署多个项目


vim /tomcat/conf/server.xml

<Context path="/anepda" reloadable="true" docBase="/ane/tomcat2/webapps/ROOT" />       #新添加(我是添加在最后)
<Context path="/anepdanew" reloadable="true" docBase="/ane/tomcat2/webapps1/ROOT" />

通过访问:

http://127.0.0.1:8080/anepda     #对应各子的项目
http://127.0.0.1:8080/anepdanew  #对应各子的项目

Over~

zhifubao_pay                weixin_pay

本站的发展离不开您的资助,金额随意,感谢来赏!


转载原创文章请注明,转载自: 林里克斯 » Tomcat的三种模式及部署两个项目
留言
Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注