在谈到tomcat优化时,必然要说到apr库,这个库是C语言实现的,tomcat通过JNI方式使用该库可以大大提高性能。

tomcat在使用apr时需要安装apr,apr-util和tomcat-native。

1. 下载

apr和apr-util需要单独下载:http://apr.apache.org/download.cgi。

tomcat-native就在$CATALINA_HOME/bin目录下:tomcat-native.tar.gz。

2. 安装apr库

(1)安装apr:安装在/usr/local/apr

[root@centosx64_tomcat1 ~]# tar xvf apr-1.6.2.tar.gz
[root@centosx64_tomcat1 ~]# cd apr-1.6.2
[root@centosx64_tomcat1 apr-1.6.2]# ./configure --prefix=/usr/local/apr
[root@centosx64_tomcat1 apr-1.6.2]# make && make test && make install

(2)安装apr-util:安装到/usr/local/apr-util

[root@centosx64_tomcat1 ~]# tar xvf apr-util-1.6.0.tar.gz
[root@centosx64_tomcat1 ~]# cd apr-util-1.6.0
[root@centosx64_tomcat1 apr-util-1.6.0]# ./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
[root@centosx64_tomcat1 apr-util-1.6.0]# make && make install

3. 安装tomcat-native

[root@centosx64_tomcat1 ~]# cd TOMCAT_HOME/bin
[root@centosx64_tomcat1 ~]# tar xvf tomcat-native.tar.gz
[root@centosx64_tomcat1 ~]# cd tomcat-native-1.1.30-src/jni/native
[root@centosx64_tomcat1 ~]# ./configure --with-apr=/usr/local/apr --with-java-home=$JAVA_HOME && make && make install

4. 配置tomcat使用apr库

有2种方式配置tomcat使用apr库:

方式一:配置环境变量

在unix系统中,只要$LD_LIBRARY_PATH变量值所在路径包含tomcat本地库,默认就使用org.apache.coyote.http11.Http11AprProtocol。

vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/apr/lib
source /etc/profile

方式二:将apr库路径参数添加到系统变量中(推荐)

编辑$CATALINA_HOME/bin/setenv.sh文件(如果文件不存在,新建文件):

export CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/apr/lib"

修改$TOMCAT_HOME/conf/server.xml:

<Connector port="8000" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443"

protocal修改为:org.apache.coyote.http11.Http11AprProtocol,重启tomcat。

5. 检查是否安装成功

如果看到下面的启动日志,表示成功.

Sep 17, 2017 1:59:19 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
Sep 17, 2017 1:59:19 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
Sep 17, 2017 1:59:19 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 31002 ms

6. 解决报错

(1)./configure时报错:

[root@centosx64_tomcat1 apr-1.6.2]# ./configure --prefix=/usr/local/apr
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
Configuring APR library
Platform: x86_64-pc-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.6.2
checking for chosen layout... apr
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in '/root/apr-1.6.2':
**configure: error: no acceptable C compiler found in $PATH**
See `config.log' for more details

fix: 需要安装gcc编译器

[root@centosx64_tomcat1 apr-1.6.2]# yum -y install gcc

(2)./configure时报错:

[root@centosx64_tomcat1 apr-1.6.2]# ./configure --prefix=/usr/local/apr
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/apr.h
config.status: creating build/apr_rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating apr-1-config
config.status: creating apr.pc
config.status: creating test/Makefile
config.status: creating test/internal/Makefile
config.status: creating include/arch/unix/apr_private.h
config.status: executing libtool commands
**rm: cannot remove `libtoolT': No such file or directory**
config.status: executing default commands

fix: 修改configure脚本

Edit your configure file:vim configure

Change the line

$RM "$cfgfile"
to $RM -f "$cfgfile"
This will resolve the error rm: cannot remove `libtoolT': No such file or directory
Then try run configure. That's it :)

参考:https://stackoverflow.com/questions/18091991/error-while-compiling-apache-apr-make-file-not-found

tomcat优化之安装并配置apr库的更多相关文章

  1. tomcat是什么?Tomcat 下载、安装、配置图文教程

    你用浏览器上网的所有操作,所有请求发送给服务器(tomcat),服务器通过请求,找相应的逻辑处理程序(jsp或servelet或java类,就是有关java语言的所有可以处理逻辑的代码,其中包括访问后 ...

  2. Tomcat服务器的安装及配置

    学习目标: 了解Tomcat服务器的主要作用 掌握Tomcat服务器的安装与配置 掌握Tomcat安装目录下主要文件夹的作用 jsp的执行流程 1.Web的工作原理流程图:从图中可以看出Tomcat服 ...

  3. JavaWeb:Tomcat服务器的安装与配置

    Tomcat服务器的安装与配置 安装 输入网址进入Tomcat的官网            在左边导航栏选择对应下载的版本            下载安装包形式            下载并解压到我们 ...

  4. CentOS安装、配置APR和tomcat-native

    APR:Apache Portable Run-time libraries,Apache可移植执行库 在早期的Apache版本号中.应用程序本身必须可以处理各种详细操作系统平台的细节,并针对不同的平 ...

  5. Tomcat服务的安装与配置

    介绍 百度百科 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开 ...

  6. 27、Tomcat服务的安装与配置

    服务器名称 ip地址 slave-node1 172.16.1.91 27.1. Tomcat简介: Tomcat是Apache软件基金会(Apache Software Foundation)的Ja ...

  7. Tomcat服务的安装及配置

    在进行Java Web开发时必须有Web服务器的支持,常用的Web服务器便是Tomcat,本文主要介绍Tomcat的安装和配置.客户端通过Web浏览器发送一个基于HTTP协议的请求到服务器上后,服务器 ...

  8. Tomcat服务器的安装和配置

    一.Tomcat下载 可以直接从Apache的网站上下载Tomcat(http://tomcat.apache.org/),进入首页后,在左边Download一栏可选择你要下载的版本,点击便可进入To ...

  9. CentOS 7 Tomcat服务的安装与配置

    3422人阅读  http://blog.51cto.com/13525470/2073657 一.Linux下的Java运行环境 Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由S ...

随机推荐

  1. SHELL 脚本小技巧

    脚本很简单,直接上功能介绍及脚本,可以做模板使用: 记录日志,记录脚本开始执行时间.结束时间 usage 函数,脚本需接参数执行,避免误执行,告诉用户,这个脚本的使用方法 加锁,创建锁文件,脚本不允许 ...

  2. GuGuFishtion HDU - 6390 (杭电多校7E)

    啊啊啊啊...全在纸上 字丑...算了算了 然后除法部分都用逆元就好了 还有逆元打表....学到了...牛逼 #include<map> #include<set> #incl ...

  3. bzoj3160(FFT+回文自动机)

    题目描述 https://www.lydsy.com/JudgeOnline/problem.php?id=3160 题解 先把问题转化一下,我们要求的是非连续对称回文子序列. ans=回文子序列数- ...

  4. [HAOI2015]树上染色(树形背包)

    有一棵点数为 N 的树,树边有边权.给你一个在 0~ N 之内的正整数 K ,你要在这棵树中选择 K个点,将其染成黑色,并将其他 的N-K个点染成白色 . 将所有点染色后,你会获得黑点两两之间的距离加 ...

  5. LVS+Keepalived搭建高可用负载均衡

    应用环境: LVS负责多台WEB端的负载均衡(LB):Keepalived负责LVS的高可用(HA),这里介绍主备模型. 测试环境: 配置步骤: 1. 安装软件 在LVS-1和LVS-2两台主机上安装 ...

  6. 200行Go代码实现自己的区块链——区块生成与网络通信

    go启动后,可以用telnet登录访问. 注意端口配置写在.env里面. 源码:https://github.com/mycoralhealth/blockchain-tutorial/tree/ma ...

  7. A1042. Shuffling Machine

    Shuffling is a procedure used to randomize a deck of playing cards. Because standard shuffling techn ...

  8. SNP在世界地图上的频率分布

    简单介绍两个网页工具,第一个是GGV,其界面如下: 第二个工具是HGDP,个人感觉画出来有点丑..都是同一所大学开发出来的:界面如下:

  9. Day21--Python--C3算法和super()

    一. python的继承. 多继承 子类继承父类. 为什么要继承???? 为了节省开发时间. 调高开发效率. 代码得到了重用 在python中存在多继承 MRO(method resolution O ...

  10. 安装Androidsdudio时

    安装Androidsdudio时,Androidsdudio的路劲可以任意选择,但Androidsdk的路劲就默认到c盘里.然后安装后就可以直接用了