前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何让Tomcat使用APR连接器

如何让Tomcat使用APR连接器

作者头像
端碗吹水
发布2020-09-23 10:26:04
1.2K0
发布2020-09-23 10:26:04
举报

安装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

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

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器

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

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

安装编译所需依赖:

[root@txy-server ~]# yum install -y openssl-devel gcc expat-devel

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

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

安装APR依赖模块 - APR-util

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

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器

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

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

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

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

安装APR依赖模块 - APR-iconv

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

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器

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

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

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

[root@txy-server /usr/local/src]# tar -zxvf apr-iconv-1.2.2.tar.gz
[root@txy-server /usr/local/src]# cd apr-iconv-1.2.2/
[root@txy-server /usr/local/src/apr-iconv-1.2.2]# ./configure -prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
[root@txy-server /usr/local/src/apr-iconv-1.2.2]# make && make install

安装APR依赖模块 - OpenSSL

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

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

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

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器

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

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

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

[root@txy-server /usr/local/src]# tar -zxvf openssl-1.0.2t.tar.gz
[root@txy-server /usr/local/src]# cd openssl-1.0.2t/
[root@txy-server /usr/local/src/openssl-1.0.2t]# ./config --prefix=/usr/local/openssl

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

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

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

[root@txy-server /usr/local/src/openssl-1.0.2t]# make && make install

安装Tomcat

官网下载地址:

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

复制下载链接:

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器

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

[root@txy-server ~]# cd /usr/local/src
[root@txy-server /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

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

[root@txy-server /usr/local/src]# tar -zxvf apache-tomcat-9.0.27.tar.gz -C /usr/local
[root@txy-server /usr/local/src]# mv ../apache-tomcat-9.0.27/ ../tomcat9

安装tomcat-native

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

# 解压tomcat-native
[root@txy-server ~]# tar -zxvf /usr/local/tomcat9/bin/tomcat-native.tar.gz -C /usr/local/src
[root@txy-server ~]# cd /usr/local/src/tomcat-native-1.2.23-src/native/
# 配置编译参数,指定APR和OpenSSL库的安装位置,生成Makefile
[root@txy-server /usr/local/src/tomcat-native-1.2.23-src/native]# ./configure --with-apr=/usr/local/apr --with-ssl=/usr/local/openssl
[root@txy-server /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连接器。如下示例:

[root@txy-server ~]# 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空间:

[root@txy-server ~]# 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服务器:

[root@txy-server ~]# /usr/local/tomcat9/bin/startup.sh

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

[root@txy-server ~]# tail -n10 /usr/local/tomcat9/logs/catalina.out

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

如何让Tomcat使用APR连接器
如何让Tomcat使用APR连接器
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装APR
  • 安装APR依赖模块 - APR-util
  • 安装APR依赖模块 - APR-iconv
  • 安装APR依赖模块 - OpenSSL
  • 安装Tomcat
  • 安装tomcat-native
  • 配置Tomcat使用APR连接器
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档