操作系统环境: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. unity检测鼠标是点击在UI上还是物体上

    void Update() { if (Input.GetMouseButtonDown(0)||(Input.touchCount >0 && Input.GetTouch(0 ...

  2. Bootstrap关闭子类页面,刷新父类页面

    关闭子类页面,刷新父类页面 function doBack() { var index = parent.layer.getFrameIndex(window.name) //获取窗口索引值 pare ...

  3. linux服务器后台运行服务

    linux 后台运行一个服务 难免会遇到在Linux,后台执行任务.下面,总结了一下关闭窗口任然在后台执行的方法,例如 #执行一个打包命令 tar czf /data/backup.tgz /data ...

  4. 数据库索引的数据结构b+树

    b+树的查找过程:如上图所示,如果要查找数据项29,那么首先会把磁盘块1由磁盘加载到内存,此时发生一次IO,在内存中用二分查找确定29在17和35之间,锁定磁盘块1的P2指针,             ...

  5. JDK源码中,都有哪些NB的设计模式?

    转载:https://mp.weixin.qq.com/s/h88UxB9F2MkTbHqck3KQiQ 一.结构性模式: 1.适配器模式: 常用于将一个新接口适配旧接口 肥朝小声逼逼:在我们业务代码 ...

  6. 关于std::thread

    std::thread基本用法 1.普通函数: std::thread thread(func, param, ...) 2.类成员函数: std::thread thread(&class_ ...

  7. ImportError: No module named managers

    代码: import os import cPickle as pickle filename = '../dftest.pkl' if(os.path.exists(filename)): w=op ...

  8. log4net的简单使用记录一下,防止下次忘记

    1.在程序的assembly.cs下添加: [assembly: log4net.Config.XmlConfigurator(Watch = true)]  (忘记这一步,弄了半天,上次好像也是这样 ...

  9. SQL Server中与IO相关的等待类型:IO_COMPLETION和PAGEIOLATCH_*

    一个大的SQL语句操作,执行计划中包含了一个merge join操作,观察到SQL长时间处于IO_COMPLETION等待状态,如果是读取相关的表的数据,服务器应该全力为其服务,但是服务器的物理IO又 ...

  10. 基于MGR+Atlas的读写分离尝试,以及MGR+Keepalived+Atlas自动故障转移+读写分离设想

    目的是尝试altas的读写分离,现有一套搭建好做测试的MGR(单主),于是就腿搓绳,在MGR基础上搭建altas. 复制环境准备 读写分离理论上讲,跟复制模式没有关系,atlas负责的是重定向读写,至 ...