CentOS7.7Tomcat8.5开启APR运行模式

1、Tomcat的三种运行模式:

创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站建设、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的长丰网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

(1)BIO:Blocking I/O,阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包),每一个请求都要创建一个线程来进行处理,是Tomcat 7及之前版本默认的运行模式,性能最差,没有经过任何优化处理。

(2)NIO:Non-Blocking I/O,非阻塞式I/O操作,Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包),能够通过少量的线程处理大量的请求,是Tomcat 8默认的运行模式,Java nio是一个基于缓冲区,并能提供非阻塞I/O操作的Java API,利用Java异步I/O技术,使得拥有比传统I/O操作方式更好的并发运行性能。

(3)APR:Apache Portable Runtime,Apache可移植运行库,它是Apache HTTP Server2.x的核心。Tomcat以JNI(Java Native Interface,Java本地接口)的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大提高Tomcat对静态文件的处理性能,从操作系统级别来解决异步的I/O问题,使用APR可以提供更好的伸缩性和更高的性能,更好的与底层服务做集成。APR模式是Tomcat生产环境运行高并发应用的首选模式。

2、安装JDK:

# tar -xf jdk-8u241-linux-x64.tar.gz -C /usr/local

# cd /usr/local

# mv jdk1.8.0_241/ jdk

3、配置JDK环境变量:

# vim /etc/profile.d/jdk.sh

export JAVA_HOME=/usr/local/jdk

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$JAVA_HOME/bin:$PATH

# . /etc/profile.d/jdk.sh

# echo $JAVA_HOME

CentOS 7.7 Tomcat 8.5开启APR运行模式

# java -version

CentOS 7.7 Tomcat 8.5开启APR运行模式

4、yum方式安装相关软件包:# yum -y install gcc make openssl openssl-devel expat-devel

5、编译安装apr:

# tar -xf apr-1.7.0.tar.gz -C /usr/src

# cd /usr/src/apr-1.7.0

# vim configure -->将31880行的$RM "$cfgfile"用#号注释

# ./configure --prefix=/usr/local/apr --enable-profile --enable-threads --with-sendfile

# make && make install

# vim /etc/profile.d/apr.sh

export LD_LIBRARY_PATH=/usr/local/apr/lib:$LD_LIBRARY_PATH

# . /etc/profile.d/apr.sh

6、编译安装apr-iconv:

# tar -xf apr-iconv-1.2.2.tar.gz -C /usr/src

# cd /usr/src/apr-iconv-1.2.2

# ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr

# make && make install

7、编译安装apr-util:

# tar -xf apr-util-1.6.1.tar.gz -C /usr/src

# cd /usr/src/apr-util-1.6.1

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apr-iconv=/usr/local/apr-iconv/bin/apriconv

# make && make install

8、解压Tomcat:

# tar -xf apache-tomcat-8.5.50.tar.gz -C /usr/local

# cd /usr/local

# mv apache-tomcat-8.5.50/ tomcat

9、编译安装tomcat-native:

# cd /usr/local/tomcat/bin

# tar -xf tomcat-native.tar.gz

# cd tomcat-native-1.2.23-src/native

# ./configure --with-apr=/usr/local/apr --with-java-home=/usr/local/jdk

# make && make install

10、配置Tomcat环境变量:

# vim /etc/profile.d/tomcat.sh

export CATALINA_HOME=/usr/local/tomcat

export PATH=$CATALINA_HOME/bin:$PATH

export JAVA_HOME=/usr/local/jdk

export JRE_HOME=$JAVA_HOME/jre

# . /etc/profile.d/tomcat.sh

# echo $CATALINA_HOME

CentOS 7.7 Tomcat 8.5开启APR运行模式

# catalina.sh version

CentOS 7.7 Tomcat 8.5开启APR运行模式

11、查看Tomcat 8.5默认运行模式:

# configtest.sh

CentOS 7.7 Tomcat 8.5开启APR运行模式

12、修改server.xml配置文件:

# cd /usr/local/tomcat/conf

# cp server.xml{,.bak}

# vim server.xml

修改前(NIO模式)

修改后(APR模式)

protocol="HTTP/1.1"connectionTimeout="20000"   redirectPort="8443" />

protocol="org.apache.coyote.http11.Http11AprProtocol"  connectionTimeout="20000" redirectPort="8443"   />

protocol="AJP/1.3"redirectPort="8443"   />

protocol="org.apache.coyote.ajp.AjpAprProtocol"  redirectPort="8443" />

备注:

(1)Tomcat的两种连接器,HTTP和AJP

(2)AJP:Apache JServ Protocol,面向数据包的基于TCP/IP的协议,使用二进制格式传输可读性文本

13、修改catalina.sh脚本文件:

# vim /usr/local/tomcat/bin/catalina.sh,在首行#!/bin/sh下新增如下代码:

CATALINA_OPTS="$CATALINA_OPTS -server -Xms512m -Xmx512m -Djava.library.path=/usr/local/apr/lib"

14、查看配置后的运行模式:

# catalina.sh configtest

CentOS 7.7 Tomcat 8.5开启APR运行模式

15、启动Tomcat:

# useradd tomcat

# chown -R tomcat.tomcat /usr/local/tomcat

# su - tomcat -c "startup.sh"


当前文章:CentOS7.7Tomcat8.5开启APR运行模式
URL分享:http://ybzwz.com/article/gicgec.html