如何让Tomcat使用APR连接器

安装APR

APR简介:

APR是Apache Portable Runtime的简称,它是一个高度可移植的库。APR有许多用途,包括访问高级I/O功能(如sendfile、epoll和openssl)、操作系统级功能(随机数生成、系统状态等)和本机进程处理(共享内存,NT管道和Unix套接字)等。

基于APR实现的连接器由于可以操作系统级别的功能,所以性能上相对与其他连接器来说要高。让Tomcat使用APR连接器也是常用的调优手段之一,本文将手把手教大家如何在Linux下让Tomcat使用APR连接器。

官网地址:

http://apr.apache.org/

下载地址:

http://apr.apache.org/download.cgi

进入下载页面,复制源码包的下载链接:

到Linux上使用wget命令进行下载:

[[email protected] ~]# cd /usr/local/src
[[email protected] /usr/local/src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz

安装编译所需依赖:

[[email protected] ~]# yum install -y openssl-devel gcc expat-devel

解压下载好的apr源码包,参照如下命令完成编译安装:

# 解压缩
[[email protected] /usr/local/src]# tar -zxvf apr-1.7.0.tar.gz
[[email protected] /usr/local/src]# cd apr-1.7.0/
# 配置编译参数,生成Makefile
[[email protected] /usr/local/src/apr-1.7.0]# ./configure --prefix=/usr/local/apr  # 指定安装路径
# 进行编译安装
[[email protected] /usr/local/src/apr-1.7.0]# make && make install  

安装APR依赖模块 - APR-util

由于APR需要依赖几个模块,其中一个就是APR-util。所以我们得将APR依赖的模块给安装上。还是之前的下载页面,复制APR-util源码包的下载链接:

到Linux上使用wget命令进行下载:

[[email protected] /usr/local/src/apr-1.7.0]# cd ../
[[email protected] /usr/local/src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz

解压下载好的APR-util源码包,参照如下命令完成编译安装:

[[email protected] /usr/local/src]# tar -zxvf apr-util-1.6.1.tar.gz
[[email protected] /usr/local/src]# cd apr-util-1.6.1/
[[email protected] /usr/local/src/apr-util-1.6.1]# ./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr  # 指定apr的安装路径
[[email protected] /usr/local/src/apr-util-1.6.1]# make && make install

安装APR依赖模块 - APR-iconv

然后是APR-iconv模块,同样是之前的下载页面,复制APR-iconv源码包的下载链接:

到Linux上使用wget命令进行下载:

[[email protected] /usr/local/src/apr-util-1.6.1]# cd ../
[[email protected] /usr/local/src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-iconv-1.2.2.tar.gz

解压下载好的APR-iconv源码包,参照如下命令完成编译安装:

[[email protected] /usr/local/src]# tar -zxvf apr-iconv-1.2.2.tar.gz
[[email protected] /usr/local/src]# cd apr-iconv-1.2.2/
[[email protected] /usr/local/src/apr-iconv-1.2.2]# ./configure -prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
[[email protected] /usr/local/src/apr-iconv-1.2.2]# make && make install

安装APR依赖模块 - OpenSSL

APR连接器是基于OpenSSL这个库来提供对https的支持(性能高),所以需要接下来需要安装这个库。OpenSSL的官网下载地址如下:

https://www.openssl.org/source/

到下载页面中复制下载链接:

到Linux上使用wget命令进行下载:

[[email protected] /usr/local/src/apr-util-1.6.1]# cd ../
[[email protected] /usr/local/src]# wget https://www.openssl.org/source/openssl-1.0.2t.tar.gz

解压下载好的OpenSSL源码包,参照如下命令完成编译安装:

[[email protected] /usr/local/src]# tar -zxvf openssl-1.0.2t.tar.gz
[[email protected] /usr/local/src]# cd openssl-1.0.2t/
[[email protected] /usr/local/src/openssl-1.0.2t]# ./config --prefix=/usr/local/openssl

与编译其他库不同的是需要修改上一步操作生成的Makefile文件,增加一个编译参数:

[[email protected] /usr/local/src/openssl-1.0.2t]# vim Makefile
# 在CFLAG属性的末尾增加-fPIC参数
CFLAG= ... -fPIC

修改完成后,执行编译安装:

[[email protected] /usr/local/src/openssl-1.0.2t]# make && make install

安装Tomcat

官网下载地址:

https://tomcat.apache.org/download-90.cgi

复制下载链接:

到Linux上使用wget命令进行下载:

[[email protected] ~]# cd /usr/local/src
[[email protected] /usr/local/src]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.27/bin/apache-tomcat-9.0.27.tar.gz

解压下载好的压缩包,并将其解压后的目录重命名:

[[email protected] /usr/local/src]# tar -zxvf apache-tomcat-9.0.27.tar.gz -C /usr/local
[[email protected] /usr/local/src]# mv ../apache-tomcat-9.0.27/ ../tomcat9

安装tomcat-native

最后是安装tomcat-native组件,tomcat-native组件可以让Tomcat访问APR连接器。Tomcat已经自带了tomcat-native,无需额外下载。我们只需要进行一个安装即可,步骤如下:

# 解压tomcat-native
[[email protected] ~]# tar -zxvf /usr/local/tomcat9/bin/tomcat-native.tar.gz -C /usr/local/src
[[email protected] ~]# cd /usr/local/src/tomcat-native-1.2.23-src/native/
# 配置编译参数,指定APR和OpenSSL库的安装位置,生成Makefile
[[email protected] /usr/local/src/tomcat-native-1.2.23-src/native]# ./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl
[[email protected] /usr/local/src/tomcat-native-1.2.23-src/native]# make && make install  # 编译安装

tomcat-native的官方文档地址如下:

http://tomcat.apache.org/native-doc/


配置Tomcat使用APR连接器

编辑Tomcat的server.xml文件,将Connectorprotocol属性值修改为org.apache.coyote.http11.Http11AprProtocol,即启用APR连接器。如下示例:

[[email protected] ~]# vim /usr/local/tomcat9/conf/server.xml
    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
               connectionTimeout="20000"
               redirectPort="8443" />

然后在Tomcat的catalina.sh脚本文件中指定apr的库路径。并且由于开启了APR连接器后,JVM用到的native内存会增大,因此还需要适当调大Metaspace空间:

[[email protected] ~]# vim /usr/local/tomcat9/bin/catalina.sh
# 增加一行JVM参数配置
JAVA_OPTS="$JAVA_OPTS -XX:MetaspaceSize=128m -Djava.library.path=/usr/local/apr/lib"

参数说明:

  • XX:MetaspaceSize=128m:将Metaspace空间设置为128M
  • -Djava.library.path=/usr/local/apr/lib":指定apr的库路径

配置完成后,使用如下命令启动Tomcat服务器:

[[email protected] ~]# /usr/local/tomcat9/bin/startup.sh

启动Tomcat之后使用如下命令查看Tomcat的启动日志:

[[email protected] ~]# tail -n10 /usr/local/tomcat9/logs/catalina.out

如下输出了APR字样的信息,代表启用APR连接器成功:

原文地址:https://blog.51cto.com/zero01/2447440

时间: 2024-10-03 22:38:51

如何让Tomcat使用APR连接器的相关文章

j.APR连接器整体框图(含SSL实现分析)

APR连接器的思路和bio,nio的整体架构也是类似的,可以看到下面的整体框图: 第一个区别是,对于从Acceptor线程中的socket解析这块,无论是nio还是bio都是在Acceptor线程内直接阻塞执行的,对于APR通道,搞出一个SocketWithOptions的线程,专门执行这个socket解析的工作,然后直接交给Poller线程进行poll: 其次,SSL交互和socket接收等等都是调用tomcat-native的JNI的代码来完成的. 下面通过源码分析,讲讲整个框图中比较核心的

Cento6.5启动Tomcat时报APR错的问题

遇到好几次tomcat报这咯APR错的问题,网上也有不少帖子说到这个问题,但是没有一个帖子是完全顺着来能直接解决自己的问题的,这里结合自己的环境和尝试总结一下这个问题的解决过程. 操作系统版本:Centos 6.5 x86_x64 Tomcat版本:7.0.47.0 JDK版本:1.7.0_51-b13 64位(甲骨文的太阳的jdk,不是openjdk) 启动时报错如下 The APR based Apache Tomcat Native library which allows optimal

tomcat开启APR运行模式

在linux下tomcat开启APR模式 1.安装apr tar -zxvf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr make make install 2. 安装apr-util tar -xvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/a

tomcat(apr)模式

1.首先安装TOMCAT与JDK 2.下载APR所需要用的安装包 apr-1.5.2.tar.gz,apr-iconv-1.2.1.tar.gz,apr-util-1.5.4.tar.gz 4.安装gcc yum install gcc -y 5.解压安装 tar zxvf /root/apr-1.5.2.tar.gz -C /usr/local/ cd /usr/local/apr-1.5.2 ./configure  &&make  && make install ta

为 Tomcat 安装 apr

apr 官方介绍: Tomcat可以使用APR来提供超强的可伸缩性和性能,更好地集成本地服务器技术. APR(Apache Portable Runtime)是一个高可移植库,它是Apache HTTP Server 2.x的核心. APR有很多用途,包括访问高级IO功能(例如sendfile,epoll和OpenSSL),OS级别功能(随机数生成,系统状态等等),本地进程管理(共享内存,NT管道和UNIX sockets).这些功能可以使Tomcat作为一个通常的前台WEB服务器,能更好地和其

八、cent OS下tomcat启用APR并发模式

Tomcat支持三种接收请求的处理方式:BIO.NIO.APR ,本文记录tomcat配置APR模式,也是首选模式.(Tomcat7 或以下,在 Linux 系统中默认使用BIO方式) 安装依赖库yum install apr-devel yum install openssl-devel yum install gcc yum install make 下载native地址:http://tomcat.apache.org/download-native.cgitar -xvzf tomcat

javaweb学习总结十八(软件密码学、配置tomcat的https连接器以及tomcat管理平台)

一:软件密码学 1:对称加密 对称加密是最快速.最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key).对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中. 对称加密通常使用的是相对较小的密钥,一般小于256 bit.因为密钥越大,加密越强,但加密与解密的过程越慢.如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解:但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加

Tomcat配置APR

Tomcat配置APR,就是如何在Tomcat中使用JNI的方式来读取文件以及进行网络传输.这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能.如果想要Tomcat达到最优的效果,首先要争取使得操作系统以及网络资源达到最优,并且最好使用高版本的JDK.对于有大量静态页面的系统,采用 Apache集成Tomcat的方式,把静态页面交由Apache处理,动态部分交由Tomcat处理,能极大解放Tomcat的处理能力.使用ARP库

记录tomcat优化之为tomcat安装APR

APR(Apache Portable Runtime)实现操作系统级别控制,大大提高并发处理能力;但需要安装apr和tomcat-native库: (1)安装apr这里我用的是tomcat9,需要较新版本的apr,所以我这里采用源码的安装方式进入http://apr.apache.org/download.cgi 下载需要的apr 与apr-utilwget -c http://mirror-hk.koddos.net/apache//apr/apr-1.6.5.tar.gzwget -c h