Tomcat 8.0的并发优化(3)

•第一步: 下载apr与apr-util安装包:
下载地址: 这里下载apr-1.6.3.tar.gz和apr-util-1.6.1.tar.gz, 然后将安装包上传至服务器, 这里上传至 /usr/local 目录下.


•第二步: 安装apr:
cd /usr/local
tar -zxf apr-1.6.3.tar.gz
cd apr-1.6.3
# 配置安装路径
./configure --prefix=/usr/local/apr
# 编译安装
make
make install


•第三步: 安装apr-util:
cd /usr/local
tar -zxf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
# 配置安装路径
./configure --prefix=/usr/local/apr-util--with-apr=/usr/local/apr
# 编译安装
make
make install

错误提示:


可能出现gcc依赖没有安装的错误, 可通过 yum install gcc 命令安装.

如果make过程中出错, 解决错误后重新安装前需要执行清理: make clean, 然后再次尝试make及make install过程.

如果抛出 xml/apr_xml.c:35:19: error: expat.h: No such file or directory, 说明缺少了expat库, 可执行下属命令安装: yum install expat-devel.


•第四步: 配置环境变量:

上面安装完后设置下环境变量:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

或者, 将/usr/local/apr/lib包路径添加到/etc/ld.so.conf文件中:
echo "/usr/local/apr/lib" >> /etc/ld.so.conf


(3) 安装tomcat-native组件:


tomcat-native组件可以看作是Tomcat与APR交互的中间环节.

•第一步: 下载并解压native安装包:

前往 ${TOMCAT_HOME}/bin 目录下找到tomcat-native.tar.gz, 也可前往官网()下载其他版本, 推荐使用Tomcat自带的版本, 兼容性有更大保证.

解压tomcat-native组件并安装, 或上传自己下载的native组件至服务器后, 再执行下述过程:
 cd /usr/local/tomcat/bin/
 tar -zxf tomcat-native.tar.gz
 cd tomcat-native-1.2.14-src/native/


注意: 1.1.x版本中的目录是tomcat-native-1.1.x-src/jni/native.


•第二步: 安装组件:
# 配置安装参数, 其中java-home可使用默认环境变量中的配置
./configure --with-apr=/usr/local/apr --with-ssl=yes
make
make install


(4) Tomcat整合APR:

•第一步: 修改启动脚本catalina.sh:
在${TOMCAT_HOME}/bin/catalina.sh 文件的 cygwin=false 前(110行左右)加入下述启动参数:
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"


•第二步: 修改容器配置文件server.xml:

查看 ${TOMCAT_HOME}/conf/server.xml 文件, 确保如下监听器没有被注释掉:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />


•修改Connector选项:
<Connector port="8443"
            protocol="org.apache.coyote.http11.Http11AprProtocol"
            maxThreads="150" SSLEnabled="true" >
</Connector>


(5) 验证配置是否成功:

启动Tomcat, 在 ${TOMCAT_HOME}/logs/catalina.out 文件中查看日志信息:

•如果出现下述内容, 说明APR组件安装不成功:
Sep 14, 2018 19:11:20 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:...


•如果出现下述内容, 说明APR组件安装成功:
Sep 14, 2018 19:19:47 PM org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.27 using APR version 1.6.3.
Sep 14, 2018 19:19:47 PM org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [true], sendfile [true], accept filters [false], random [true].
Sep 14, 2018 19:19:47 PM org.apache.catalina.core.AprLifecycleListener initializeSSL
INFO: OpenSSL successfully initialized (OpenSSL 1.0.1e-fips 11 Feb 2013)
Sep 14, 2018 19:19:47 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
Sep 14, 2018 19:19:47 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]


•Tomcat通过APR模式成功启动:
Sep 14, 2018 19:19:56 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8986"]
Sep 14, 2018 19:19:56 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8915"]
Sep 14, 2018 19:19:56 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 9421 ms


3 配置AJP连接器

AJP(Apache JServer Protocol)是为 Tomcat 与 HTTP 服务器之间通信而定制的协议, 能提供较高的通信速度和效率.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cf4287bbf3f2b6e844fceefb1b5c47cc.html