操作系统环境:Ubuntu 17 amd64位

软件环境:Tomcat 9

tomcat安装位置:/opt/tomcat

JDK:1.8.144 64位

 安装步骤:

1:编译安装

cd /opt/tomcat/bin 
tar -zxvf tomcat-native.tar.gz
apt-get install libapr1-dev libssl-dev apt-file ant #安装apr和ssl组件
apt-file update #更新缓存
apt-file list libssl-dev #查询libssl-dev安装路径
apt-file list libapr1-dev #查询apr安装路径
#编译native库
cd tomcat-native-1.2.12-src/native
./configure --with-apr=/usr/bin/apr-config --with-java-home=$JAVA_HOME --with-ssl=yes --prefix=/opt/tomcat
make&&make install 安装
LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/;export LD_LIBRARY_PATH 
cd ..
ant compile
ant jar
cp dist/tomcat-native-1.2.12.jar /opt/tomcat/lib/
ant run-echo

2:配置

经过以上编译、安装、测试,tomcat native就配置的差不多了,接下来还有修改一下bin目录下的setclasspath.sh文件
vim /opt/tomcat/setclasspath.sh在其他命令之前加入
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

不加以上环境变量会报错,找不到Apache tomcat Native Library,错误信息:

org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/lib/x86_64-linux-gnu/:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]

如果你配置tomcat为系统服务随机启动,则需要在启动脚本里添加以上环境变量。例如笔者的tomcat随机启动脚本

/etc/init.d/tomcat

查看/opt/tomcat/conf/server.xml里面是否有如下配置,没有则修改或者添加

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

 3:重启查看效果

配置完成后重启tomcat容器,使用tail -100f /opt/tomcat/logs/catalina.out,日志里出现以下信息说明配置成功

 安装截图

Tomcat开启本地库(Apache Tomcat Native Library)支持的更多相关文章

  1. tomcat web漏洞整改--Apache Tomcat examples directory vulnerabilities

    在利用AWVS等弱扫工具对网站进行漏洞扫描时,经常会出现一些Tomcat漏洞问题,一般在弱扫报告中,都会给出简单的处理办法,但有时这些办法可能不太适合我们,或者在一些正式使用的环境中,不好操作,那么我 ...

  2. Apache Tomcat examples directory vulnerabilities(Apache Tomcat样例目录session操纵漏洞)复现

    目录 Session操控漏洞 示例: Session操控漏洞 在Apache tomcat中,有一个默认的example示例目录,该example目录中存着众多的样例,其中/examples/serv ...

  3. Java、Apache Tomcat下载与安装及环境变量配置

    1.Java JDK 与 Apache Tomcat 下载 JDK 下载 Apache Tomcat 下载 2.安装与环境变量配置 关于 JDK 的安装挺简单的,网上教程也挺多,Tomcat 下载免安 ...

  4. How to Install Apache Tomcat 8.5 on CentOS 7.3

    How to Install Apache Tomcat 8.5 on CentOS 7.3 From: https://www.howtoforge.com/tutorial/how-to-inst ...

  5. digitalocean --- How To Install Apache Tomcat 8 on Ubuntu 16.04

    https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04 Intr ...

  6. CVE-2019-0199:Apache Tomcat DDOS

    CVE-2019-0199:Apache Tomcat DDOS 0X00漏洞概述 Apache Tomcat HTTP/2拒绝服务漏洞,该漏洞是由于应用服务允许接收大量的配置流量,并且客户端在没有读 ...

  7. 【问题解决:信息提示】SpringBoot启动时提示The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path

    问题描述 springboot程序在启动时提示信息 [2018-10-24 21:59:05.214] - 440 信息 [restartedMain] --- org.apache.catalina ...

  8. 关于Tomcat启动时报The APR based Apache Tomcat Native library which allows optimal performanc e in production environments was not found on the java.library.path

    错误信息如下 八月 01, 2016 10:11:15 上午 org.apache.catalina.core.AprLifecycleListener initINFO: The APR based ...

  9. The APR based Apache Tomcat Native library 异常解决办法

    tomat在linux服务器上启动报The APR based Apache Tomcat Native library which allows optimal performance in pro ...

随机推荐

  1. TMS320F28335系列芯片地址映射表

    本表非官方资料,纯属个人学习笔记,欢迎补充 本表非官方资料,纯属个人学习笔记,欢迎补充 本表非官方资料,纯属个人学习笔记,欢迎补充 开始地址 长度 名称 物理器件 程序 数据 只读 Protected ...

  2. PADS导入DXF板框,不能将开放的2D线转换成闭合的板框错误

    刚开始学会用PADS,学习的时候都是在PADS里手绘一个板框的.然后实际项目中,都是需要导入结构DXF板框文件,第一次导入就发现了问题. 第一次导入DXF后,需要将DXF转换为板框,但提示 “不能将开 ...

  3. Linux内核中的printf实现

    1 #ifndef __PRINT_H_ 2 #define __PRINT_H_ 3 4 void print(char* fmt, ...); 5 void printch(char ch); 6 ...

  4. Specify 的含义 ------ 转载

    specify block用来描述从源点(source:input/inout port)到终点(destination:output/inout port)的路径延时(path delay),由sp ...

  5. 基础总结(01)--css清除浮动几种方法

    1.父元素添加overflow:auto/hidden; 2.父元素内加空div,添加样式clear:both; 3.父元素添加伪类; .parent:after{ content:''; displ ...

  6. vue富文本编辑器

    基于webpack和vue 一.npm 安装 vue-quill-editor 二.在main.js中引入 import VueQuillEditor from 'vue-quill-editor'/ ...

  7. Python全栈开发记录_第四篇(集合、函数等知识点)

    知识点1:深拷贝和浅拷贝 非拷贝(=赋值:数据完全共享,内存地址一样,修改一个另一个也变化) 浅拷贝:数据半共享(复制其数据独立内存存放,但是只拷贝成功第一层)像[[1,2],3,4]如果修改列表中列 ...

  8. 六、Python-字符串编码

      最早的编码为ASCII码(包含0-9.A-Z.a-z.符号(空格.制表符等)),最多支持256个符号(每个符号占1字节) GBK/GB2312:我国制定的中文编码标准,一个字节表示因为字母,两个字 ...

  9. Spring 依赖注入(基本注入和自动适配注入)

    Spring 依赖注入 Spring框架的核心功能之一就是通过依赖注入的方式来管理Bean之间的依赖关系. 属性注入 构造注入 内部注入 自动装配 1.属性注入 IService: public in ...

  10. Delphi TreeView 节点上下移动

    调用方法 procedure TfrmDataImport.B_ExcelDownClick(Sender: TObject); begin UpDownTVItem(TV_Import, 2); e ...