tomcat9 更换运行模式为 Apr 模式

简介:

Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。

1. BIO由于每个请求都要创建一个线程来处理,线程开销比较大,不能再高并发的场景,性能也是最低的。
2. NIO是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,比传统的bio更好的并发性能。
3. APR(Apache Portable Run-time libraries)简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高并发应用的首选模式。 

所需软件

* apr
* apr-iconv
* apr-util
* tomcat-native

安装软件

yum install -y apr-devel openssl-devel gcc make expat-devel libtool

cd /usr/local/src
wget  https://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz

tar xf apr-1.6.3.tar.gz
cd apr-1.6.3/
./configure --prefix=/usr/local/apr
make && make install

cd /usr/local/src
wget https://mirrors.cnnic.cn/apache/apr/apr-iconv-1.2.2.tar.gz
tar xf apr-iconv-1.2.2.tar.gz
cd apr-iconv-1.2.2/
./configure   --with-apr=/usr/local/apr  --prefix=/usr/local/apr-iconv
make && make install

cd /usr/local/src
wget  https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
tar xf apr-util-1.6.1.tar.gz  
cd apr-util-1.6.1/
./configure --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr   --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv
make && make install

cd /usr/local/tomcat/bin/
tar xf tomcat-native.tar.gz
cd  /usr/local/tomcat/bin/tomcat-native-1.2.16-src/native

./configure --with-apr=/usr/local/apr  --with-java-home=/usr/local/jdk8.0     
make && make install

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
export LD_RUN_PATH=$LD_RUN_PATH:/usr/local/apr/lib' >> /etc/profile

source /etc/profile

修改配置

vim /usr/local/tomcat/conf/server.xml

<Connector      port="80"        protocol="org.apache.coyote.http11.Http11AprProtocol"
                maxThreads="1000"
                minSpareThreads="100"
                acceptCount="900"
                disableUploadTimeout="true"
                connectionTimeout="20000"
                URIEncoding="UTF-8"
                enableLookups="false"
                redirectPort="8443"
                compression="on"
                compressionMinSize="1024"
               />

<!-- Define an AJP 1.3 Connector on port 8009 -->  ##注释掉下面那行,如果不用apache
<!-- <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />  -->    

测试

/usr/local/tomcat/bin/catalina.sh run

24-Jan-2018 21:39:17.695 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-80"]









本文转自 295631788 51CTO博客,原文链接:http://blog.51cto.com/hequan/2064813,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
34 0
|
7月前
|
安全 Java 应用服务中间件
【JavaWeb】Tomcat底层机制和Servlet运行原理
网络通信:Tomcat使用Java的Socket API来监听特定的端口(通常是8080),接收来自客户端的HTTP请求。 线程池:Tomcat使用线程池来处理并发的请求。当有新的请求到达时,Tomcat会从线程池中获取一个空闲线程来处理该请求,这样可以提高处理效率。 生命周期管理:Tomcat负责管理Servlet和其他Web组件的生命周期,包括初始化、请求处理和销毁等阶段。(init(), run())
|
15天前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
10 3
|
3月前
|
缓存 负载均衡 应用服务中间件
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
在本章内容中,我们将深入探讨 Tomcat 服务器的运行架构、LVS 负载均衡的运行机制以及 Cache 缓存机制,并提供相应的解决方案和指导。通过理解这些关键概念和机制,您将能够优化您的系统架构,提高性能和可扩展性。
208 4
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
|
3月前
|
监控 应用服务中间件
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
|
4月前
|
Java 应用服务中间件 Linux
Tomcat运行中的那些问题
Tomcat运行中的那些问题
18 0
|
5月前
|
应用服务中间件
idea下tomcat运行乱码问题解决方法
idea下tomcat运行乱码问题解决方法
|
5月前
|
应用服务中间件 Docker 容器
Docker基于一个tomcat镜像部署多个tomcat容器并运行
Docker基于一个tomcat镜像部署多个tomcat容器并运行
|
6月前
|
应用服务中间件
IntelliJ IDEA配置Tomcat与运行项目
IntelliJ IDEA配置Tomcat与运行项目
115 0
|
7月前
|
资源调度 前端开发 应用服务中间件
如何将 SAP 电商云 Spartacus UI 部署到 tomcat 上运行
如何将 SAP 电商云 Spartacus UI 部署到 tomcat 上运行
59 0