文档章节

tomcat 设置 APR TC native

回忆书签
 回忆书签
发布于 2016/05/19 19:07
字数 699
阅读 103
收藏 1

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

 

一、tomcat各种连接器比较

                  Java Blocking Connector   Java Non Blocking Connector       APR/native Connector
                                 BIO                         NIO                       APR
    Classname              Http11Protocol             Http11NioProtocol         Http11AprProtocol
    Tomcat Version           3.x onwards                 6.x onwards              5.5.x onwards
    Support Polling              NO                          YES                       YES
    Polling Size                 N/A                   maxConnections             maxConnections
    Read Request Headers      Blocking                  Non Blocking                 Blocking
    Read Request Body         Blocking                    Blocking                   Blocking
    Write Response            Blocking                    Blocking                   Blocking
    Wait for next Request     Blocking                  Non Blocking               Non Blocking
    SSL Support               Java SSL                    Java SSL                   OpenSSL
    SSL Handshake             Blocking                  Non blocking                 Blocking
    Max Connections        maxConnections              maxConnections             maxConnection

 

二 、编译打包apr tc native

1、需要的lib
APR library
OpenSSL libraries
Java SE Development Kit (JDK)

安装各种lib

apt-get install libapr1.0-dev libssl-dev #debian
或
yum install apr-devel openssl-devel  #rhel

2、下载 tcnative

wget http://mirrors.noc.im/apache/tomcat/tomcat-connectors/native/1.2.7/source/tomcat-native-1.2.7-src.tar.gz

rhel安装要注意 1.2.7 目前支持的openssl版本最高为 OpenSSL version to 1.0.2h , 如有需要用到ssl,请先自行升级openssl,不过目前rhel官方库并没有这个版本。

如果是centos 那就自己随意搞了,呵呵。
如果是debian/ubuntu 就无视了

3、安装编译

下面是官方做法:

./configure --help

./configure --with-apr=$HOME/APR \
            --with-java-home=$JAVA_HOME \
            --with-ssl=$HOME/OPENSSL \
            --prefix=$CATALINA_HOME

$HOME/APR is something like /usr/bin/apr-1-config or the path where apr is installed.
$JAVA_HOME is something /home/jfclere/JAVA/jdk1.5.0_09 path to a JDK installation. Any JDK should work but it is advisable to use the same JVM version the JVM you use with Tomcat.
$HOME/OPENSSL is the path where OpenSSL is installed.
$CATALINA_HOME is the path where the produced libraries will be installed. Something like $HOME/apache-tomcat-6.0.16/

按照官方文档说明,可指定各个组件的位置, 其实不写明也能自己找到。


如:
./configure --with-apr=/usr/bin/apr-1-config \
            --with-java-home=/home/jfclere/JAVA/jdk1.5.0_09/ \
            --with-ssl=yes \
            --prefix=$CATALINA_HOME

make && make install

最后就会安装到 $CATALINA_HOME/lib中。

=======================================================================


下面是我的做法:

我这里配置环境不太一样,由于前方有设备统一卸载SSL负载,所以这里也不需要SSL, 因此不编译SSL。 步骤如下:

以下是步骤

tar -xvf tomcat-native-1.2.7-src.tar.gz 
cd tomcat-native-1.2.7-src/native/
 ./configure --disable-openssl  --prefix=/tmp/tcnative
make
make install
cd /tmp/tcnative
tar -czvf tcnative1.2.7_nossl.tgz lib/lib*

4、 推到内网下载服务器,编译打包就完成了

省略


三、 客户端配置
1\
从内网软件库下下来

cd /home/tomcat
wget http://web01/tomcat/tcnative1.2.7_nossl.tgz
tar -xvf tcnative1.2.7_nossl.tgz && rm -f tcnative1.2.7_nossl.tgz

2\
在setenv.sh 加入

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/tomcat/lib
export LD_LIBRARY_PATH

3\
在 conf/server.xml 找到

这里的SSLEngine改为off 因为不需要
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

增加连接设置
<Service name="Catalina">

    <Connector port="28080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="28443" />

  <Connector port="28443" protocol="org.apache.coyote.http11.Http11Protocol"
               maxThreads="200" SSLEnabled="false" />


4\
启动tomcat

startup.sh

检查tcnative是否ok

grep APR catalina.out
发现
INFO: Loaded APR based Apache Tomcat Native library 1.2.7 using APR version 1.4.8.

lsof 看一下

lsof -p PID

发现:

java    28799 app02  mem       REG              253,4    763798 50359083 /home/tomcat/lib/libtcnative-1.so.0.2.7

好了配置完毕

如果需要SSL 请查阅tomcat官方文档配置, 同时tcnative编译时按照官方文档做法编译即可。这里不BB了。

© 著作权归作者所有

回忆书签
粉丝 0
博文 23
码字总数 3350
作品 0
海淀
项目经理
私信 提问
1.1 安装tomcat-native的时候提示apr和openssl版本过低无法安装

由于在安装tomcat-native软件做关于tomcat与mysql数据库通过nvtive提升tomcat性能的时候编译安装tc-native由于相关软件版本过低,导致无法继续安装,以下是解决思路过程和方法,及缺啥升级啥的原...

CARYFLASH
2017/12/15
0
0
centos部署tomcat采用apr方式进行优化

1.安装jre http://www.oracle.com/technetwork/java/javase/下载好jre的tar包 tar -zxvf jre-1.x.tar 2.设置环境变量 vim /etc/profile JRE_HOME=/data/jre PATH=$PATH:$JRE_HOME/bin CLASS......

果树啊
2015/07/15
51
0
centos6.3(64位) 安装apr

安装apr来提高tomcat 的可伸缩性和性能 cd /usr/local/ 1 下载apr 和 apr-util最新版 wget http://apache.fayea.com/apache-mirror//apr/apr-1.5.0.tar.gz wget http://apache.fayea.com/ap......

peanutmain
2013/12/03
8.3K
0
TOMCAT 6.0 安装 APR for linux x86_64

TOMCAT 6.0 安装 APR for linux x86_64 Requirements: APR 1.2+ development headers (libapr1-dev package) OpenSSL 0.9.7+ development headers (libssl-dev package) JNI headers from J......

JavaGG
2010/03/24
663
0
TOMCAT 6.0 安装 APR for linux x86_64

TOMCAT 6.0 安装 APR for linux x86_64 Requirements: APR 1.2+ development headers (libapr1-dev package) OpenSSL 0.9.7+ development headers (libssl-dev package) JNI headers from J......

JavaGG
2010/02/18
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

ForkJoinPool线程池

1. 拆分线程池的使用场景是什么? 答: 是对一组连续的数据进行耗时操作,例如 一个 大小为 10000 的集合 进行操作。 例子: 对1000万个数据进行排序,那么会将这个任务分割成两个500万的排序...

杨凯123
3分钟前
1
0
在多列上使用group by

我理解GROUP BY x的观点 但GROUP BY x, y如何运作的,它是什么意思? #1楼 Group By X表示将所有具有相同X值的组合放入一组中 。 Group By X, Y表示将所有具有相同值的值放在一个组中的X和Y...

技术盛宴
19分钟前
2
0
线程池ThreadPoolExecutor的内部类Worker的感想和思考

Worker依然是一个Runnable,封装了一个创建自己的原因对象,就是firstTask变量,和自己将要执行的所在线程thread变量。 thread成员变量可以直接被外部类ThreadPoolExecutor所获得,当调用add...

萧默
58分钟前
2
0
Git推送错误“ [[远程拒绝]主机->主机(分支当前已签出)”)

昨天,我发布了一个有关如何将Git存储库从我的一台计算机克隆到另一台计算机的问题 , 如何从另一台计算机“ git clone”? 。 现在,我可以成功地将Git存储库从源(192.168.1.2)克隆到目标...

javail
今天
4
0
Selenium 4.0 Alpha更新日志

早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新。 Selenium 4.0 Alpha版...

八音弦
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部