Tomcat監控之APR配置

Tomcat監控之APR配置

Tomcat可以使用APR(Apahce Portable Runtime)來提供更卓越的可伸縮性和性能,並且更好地集成本地服務器技術,APR是一個高可移植庫,它以Apache HTTP Server 2.x為核心。APR有很多用途,包括訪問高級IO功能(如sendfile、epoll和OpenSSL),OS級別功能(隨機數生成、系統狀態等等),本地進程管理(共享內存、NT管道和UNIX sockets),這些功能可以使Tomcat作為一個通常的前臺WEB服務器,更好地和其它本地web技術集成,總體上讓Java更有效率作為一個高性能web服務器平臺而不是簡單作為後臺容器。

APR安裝需要三個主要組件:

Ø APR庫;

Ø 基於APR的JNI(Native Interface)安裝包;

Ø OpenSSL庫;

在Windows下安裝:

在Windows二進制包中提供了tcnative包,它是一個靜態包,包括OpenSSL和APR兩個組件,針對自身的平臺可以下載適合自己的平臺,從安全性角度考慮,建議使用單獨的OpenSSL和APR包。

在Linux下安裝:

在很多Linux發行版中其實已經封裝了APR和OpenSSL安裝包,JNI安裝包則依懶於APR、OpenSSL和JDK。

安裝包的二進制源文件,打包在tomcat-native.tar.gz包中,對該文件進行解壓和提取,提取後對文件進行配置、編輯和安裝即可。即./configure、make和make install。

安裝好之後,在server.xml文件中可以看到關於APR配置內容,如下是一個實例:

type="org.apache.catalina.UserDatabase"

description="User database that can be updated and saved"

factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

pathname="conf/tomcat-users.xml" />

executor="tomcatThreadPool"

port="8080"

protocol="org.apache.coyote.http11.Http11AprProtocol"

connectionTimeout="20000"

redirectPort="8443"

acceptCount="100"

maxKeepAliveRequests="15"/>

executor="tomcatThreadPool"

port="8443"

protocol="org.apache.coyote.http11.Http11AprProtocol"

connectionTimeout="20000"

redirectPort="8443"

acceptCount="100"

maxKeepAliveRequests="15"

SSLCertificateFile="${catalina.base}/conf/tcserver.crt"

SSLCertificateKeyFile="${catalina.base}/conf/tcserver.key"

SSLPassword="changeme"

SSLEnabled="true"

scheme="https"

secure="true"/>

resourceName="UserDatabase"/>

unpackWARs="true" autoDeploy="true" deployOnStartup="true" deployXML="true"

xmlValidation="false" xmlNamespaceAware="false">

APR生命週期的監控配置如下:

className表示監控的類名,SSLEngine屬性用於配置是否啟動SSL引擎,如果設置為“on”則啟動SSL,如果設置為“off”則表示不啟動SSL引擎,缺省值為“on”,這只是初始化SSL引擎,如果需要在連接器中使用SSL引擎,那麼需要配置“SSLEnabled”屬性,將“SSLEnabled”屬性設置為“True”表示在該連接器中啟動SSL引擎,將“SSLEnabled”屬性設置為“False”表示在該連接器中不啟動SSL引擎。

APR中配置連接器通常有三種:HTTP、HTTPS和AJP三種。

HTTP連接器配置:

當APR啟動時,HTTP連接器會發送文件來處理大型靜態文件,增加服務器的可伸縮性,HTTP連接器的常用配置選項,見如下表。

Tomcat監控之APR配置

HTTPS連接器配置:

當APR啟動後,HTTPS連接器將使用socket用於輪迴,以增加服務器的可伸縮性,也可以使用OpenSSL,但是否比JSSE更有優勢,取決於處理器,與HTTP連接器不同的是,HTTPS連接器不能發送文件對靜態文件進行處理。HTTPS APR與HTTP APR有很多相同的基本屬性,但OpenSSL是特定的,連接器的常用配置選項,見以下表。

Tomcat監控之APR配置

一個關於SSL連接器配置的實例:

maxThreads="150"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

SSLEnabled="true"

SSLCertificateFile="${catalina.base}/conf/localhost.crt"

SSLCertificateKeyFile="${catalina.base}/conf/localhost.key" />

AJP連接器配置:

當APR啟動後,AJP連接器將使用socket用於輪迴,以增加服務器的可伸縮性,與HTTP連接器不同的是,HTTPS連接器不能發送文件對靜態文件進行處理。

AJP連接器的常用配置選項,見以下表。

Tomcat監控之APR配置


分享到:


相關文章: