Documentation Index

Introduction

Apache Tomcat本机库是与Apache Tomcat一起使用的可选组件,它允许Tomcat使用某些本机资源来提高性能,兼容性等.

具体来说,Apache Tomcat本机库使Tomcat可以访问Apache可移植运行时(APR)库的网络连接(套接字)实现和随机数生成器. 有关如何配置Tomcat以使用APR连接器的更多信息,请参见Apache Tomcat文档.

APR连接器的功能:

  • 保持活动请求的非阻塞I / O(请求之间)
  • 将OpenSSL用于TLS / SSL功能(如果链接的APR库支持)
  • FIPS 140-2支持TLS / SSL(如果链接的OpenSSL库支持)

Headlines

Building

Requirements

Build tc-native需要安装三个组件:

  • APR库
  • OpenSSL库
  • Java SE开发套件(JDK)

在基于debian的Linux中,可以通过以下方式安装这些依赖项:

apt-get install libapr1.0-dev libssl-dev

在基于rpm的Linux中,可以通过以下方式安装这些依赖项:

yum install apr-devel openssl-devel

UNIX

在所有POSIX系统(Linux,Solaris,HP-UX,AIX等)上,都使用众所周知的configure和make来构建tc-native.
在jni / native运行中:

./configure --help

阅读所有参数的说明.

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

创建include和makefile以便能够构建tc-native.
哪里:
$HOME/APR类似于/ usr / bin / apr-1-config或apr的安装路径.
$JAVA_HOME是/home/jfclere/JAVA/jdk1.7.0_80到JDK安装的路径. 任何JDK都可以使用,但是建议使用与Tomcat一起使用的JVM版本相同的JVM版本.
$HOME/OPENSSL是OpenSSL的安装路径.
$CATALINA_HOME是将安装产生的库的路径. 像$ HOME / apache-tomcat-8.0.47 /

该配置能够猜测大多数OpenSSL标准安装. 因此,在大多数情况下,满足以下条件即可:

./configure --with-apr=/usr/bin/apr-1-config \
            --with-java-home=/home/jfclere/JAVA/jdk1.7.0_80/ \
            --with-ssl=yes \
            --prefix=$CATALINA_HOME

要构建库并安装它们:

make && make install

这些库可以在$ CATALINA_HOME / lib中找到

Windows

下载Windows本地源代码并解压缩.

获取APROpenSSL的Windows源. 应用来自native / srclib的补丁程序,并为您的平台(X86或X64)构建APR和OpenSSL.

建立

nmake -f NMAKEMakefile WITH_APR=... WITH_OPENSSL=... APR_DECLARE_STATIC=1

Wiki提供了更详细的说明,包括创建标准发行版本的步骤.

Install and tests

Configuring Tomcat

Apache Tomcat默认情况下启用了AprLifecycleListener . 尽管如此,您仍应检查conf/server.xml以确保存在和未注释以下内容:

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

请参阅Apache Tomcat文档以获取配置详细信息.

UNIX

编辑$ CATALINA_HOME / bin / setenv.sh(如有必要,创建文件),然后将tc-native库的路径添加到LD_LIBRARY_PATH. 就像是:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

启动tomcat并检查类似以下的消息:

Feb 8, 2015 12:27:41 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.x.y.
Feb 8, 2015 12:27:41 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Feb 8, 2015 12:27:41 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080

请参考tomcat文档以配置连接器(请参阅Tomcat 9.0.x Tomcat 8.5.xTomcat 7.0.x

Windows

编辑$ CATALINA_BASE \ bin \ setenv.bat(如有必要,创建文件),然后将tc本地库apr和OpenSSL的路径添加到PATH. 例如:

set PATH=%PATH;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\native\Debug;C:\cygwin\home\support\tomcat-native-current-win32-src\jni\apr\Debug;C:\OpenSSL\lib\VC

启动tomcat并检查类似以下的消息:

Feb 8, 2015 2:48:17 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.x.y.
Feb 8, 2015 2:48:17 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
Feb 8, 2015 2:48:18 PM org.apache.coyote.http11.Http11AprProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080

by  ICOPY.SITE