系统环境:centos6.5  jdk1.7+  tomcat8+

tomcat有3中运行模式,早期的是bio,阻塞式,后来出现nio非阻塞式,再后来又出现apr基于本地库的形式,性能依次提高。据说都是一大截一大截的

下面用到的文件统一下载:啊(下面的链接时间久了会失效)

apr模式需要以来以下本地库的lib:

1. openssl > 1.0.2以上 (下面用1.1.0e) 下载

2. apr-xxxx.tar.gz (下面用1.5.2) 下载

3. apr-util-xxxx.tar.gz (下面用1.5.4) 下载

4. apr-iconv-xxx.tar.gz (下面用1.2.1) 下载

tomcat8.5.15: 下载

环境安装:

1. openssl默认的好像都是1.0.1e,需要升级。

下载好的openssl.tar.gz放到usr/local/下

//解压 编译安装

tar -xzvf openssl-1.1.0e.tar.gz

cd openssl-1.1.0e

./config --prefix=/usr/local/openssl 
make && make install 
//备份原来的

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

//建立软连接

ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
//设置到运行库

echo "/usr/local/openssl/lib">>/etc/ld.so.conf
//查看设置状态

ldconfig -v

openssl version -a

升级就成功了

2. 安装tomcat-native所需模块

tar -xzvf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure

make & make install

接着安装apr-util和iconv,方法一样不过./configure --with-apr=/usr/local/apr指明一下apr安装位置就可以了,不写也会提示写上。

最后还要在/etc/profile里加上lib库

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

3. tomcat-native安装

cd tomcat解压目录/bin

tar -xzvf tomcat-native.tar.gz

cd tomcat-native-1.2.12-src/native/

./configure --with-apr=/usr/local/apr --with-java-home=$JAVA_HOME --with-ssl=/usr/local/openssl

等待完成(如果出错,等会下面写我遇到的错误)
make & make install
等待完成

4. 配置server.xml

修改connector是8080那个就好,底下有个小栗子,把protocol复制过来就可以了

protocol="org.apache.coyote.http11.Http11NioProtocol",替换原来HTTP1.1那个

启动tomcat,如下表示成功:

5. 问题总结:

1. java.lang.UnsatisfiedLinkError: /usr/local/apr/lib/libtcnative-1.so.0.2.7: /usr/local/apr/lib/libtcnative-1.so.0.2.7: undefined symbol: BN_get_rfc3526_prime_8192

这个是openssl版本和tomcat对不上导致的,具体版本间对应关系得查找官网资料,我也是瞎摸的,一般编译tomcat-native时候会有检查,都通过了就是兼容的。

2. requires the APR/native library which is not available

这个是tomcat配置了apr模式运行,但是以来模块没到位。

3. make tomcat-native 'ERR_remove_thread_state' is deprecated

这个是我用tomcat8.0.36和openssl1.1.0e时候的错,死活tomcat-native编译都通不过,最后换成tomcat8.5.15就没问题了。估计是有一个版本低了。

4. checking for JDK os include directory... Cannot find jni_md.h in /usr/lib/jvm/jre-1.8.0-openjdk.x86_64//configure: error: You should retry --with-os-type=SUBDIR
     在/tomcat-native-1.2.12-src/native/下./configure时,出现上面的问题,可能是因为安装的是jre不是jdk,他需要jni_md.h这个文件,在/usr/lib/jvm/java/include/linux/下面有,cp /usr/lib/jvm/java/include /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/重新执行configure即可。

tomcat8.5.15 apr模式运行 配置相关推荐

  1. Tomcat三种模式及配置APR模式

    为什么80%的码农都做不了架构师?>>>    Tomcat三种模式 Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如 ...

  2. Tomcat开启APR模式并设置Tomcat为开机自启动服务

    一.Tomcat Tomcat Connector(Tomcat连接器)有三种运行模式:bio.nio.apr. 1.BIO模式 ​ 阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作 ...

  3. Tomcat的BIO、NIO、APR模式对比与性能测试结果

    11.11活动当天,服务器负载过大,导致部分页面出现了不可访问的状态.那后来主管就要求调优了,下面是tomcat bio.nio.apr模式以及后来自己测试的一些性能结果. 原理方面的资料都是从网上找 ...

  4. Apache之三种工作模式和配置性能优化

    1 Apache的3种模式和版本 Apache目前一共有三种稳定的MPM(Multi-Processing Module,多进程处理模块)模式,它们分别是prefork,worker和event. 我 ...

  5. spring boot内嵌tomcat优雅的开启apr模式

    文章目录 简介 Win下开启APR Linux下开启APR 把lib打进jar包 简介 环境: jdk8.spring boot 2.3.4.RELEASE.centOS7.3.win7 在sprin ...

  6. jupyter-notebook 以yarn模式运行出现的问题及解决

    jupyter-notebook 以yarn模式运行出现的问题及解决 原创小白programmer 最后发布于2018-11-21 10:53:01 阅读数 519  收藏 展开 jupyter-no ...

  7. Chrome提示:"请停用以开发者模式运行的扩展程序"的解决办法

    chrome用户在安装了一些第三方的chrome插件后,每次打开浏览器的时候都会出现"请停用以开发者模式运行的扩展程序"的提示,只有每次点击取消之后才能正常使用扩展.如下图所示 每 ...

  8. 【今日CV 计算机视觉论文速览 第100期】Mon, 15 Apr 2019

    今日CS.CV 计算机视觉论文速览 Mon, 15 Apr 2019 Totally 37 papers ?上期速览 ✈更多精彩请移步主页 Interesting: ?MAANet多视角图像超分辨,通 ...

  9. mac下tomcat启用APR模式

    前言 配置完SSL,我其实还是希望通过wireshark分析一下SSL握手协议,APR模式其实是想用来尝试下能否实现握手协议的,毕竟加入了openssl.事实证明,并没有相关干系,但毕竟折腾了挺久的, ...

最新文章

  1. Docker不香吗,为啥还要K8s?
  2. 好记性不如烂笔杆-android学习笔记十四 EditText 画行,解决光标压线问题
  3. python argparse库_python标准库之argparse
  4. UOJ #514 [UR #19]通用测评号 (容斥原理、DP)
  5. win oracle 重启命令,Windows下命令行如何启动Oracle10g?
  6. 【Redis】使用Redis Sentinel实现Redis HA
  7. Android listview优化以及listview混合itemview
  8. 【转】Microsoft Azure存储服务:存储账户****
  9. oracle-Mount
  10. 研发/项目计划管理表格
  11. 浅谈各种常见的芯片封装技术DIP/SOP/QFP/PGA/BGA
  12. 为老电脑装linux系统
  13. 停车还能360全方位影像_辅助停车,新手司机就选360全景吧!
  14. 教您如何查看Win7详细系统版本号
  15. 游拍为什么显示服务器升级,4399版游拍直播
  16. Cadence 17.4 中文菜单
  17. CREATE DATABASE guestbook DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
  18. 微信小程序 简单易用 下拉框组件
  19. 接招吧!最强“高并发”系统设计 46 连问,分分钟秒杀一众面试者
  20. 考研数学公式Day2:对1/(a+bcosx)的积分

热门文章

  1. 2022-2028年全球与中国USB到VGA适配器行业市场深度调研及投资预测分析
  2. ftp上传显示服务器错误,FTP文件夹错误:打开FTP服务器上的文件夹时发生错误
  3. UE4 图片可见性: visible Collapsed Hidden Hit Test Invisible Self HIt Test Invisible
  4. VTK笔记-计算MPR切面-vtkImageReslice输出视口设置
  5. Android 11.0 NetworkMonitor导致的wifi连接后显示x问题解决方法
  6. 有联机排名和屏幕反馈功能的游戏弓
  7. 【板栗糖GIS】arcmap—如何批量不显示黑边,一劳永逸
  8. 使用 C# 创造 ASCII 艺术
  9. Redis对于key的操作命令(附PHP代码)
  10. android 正则 ip,判断URL和IP的正则表达式