新聞中心
1、Tomcat的三種運(yùn)行模式:
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的長(zhǎng)豐網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
(1)BIO:Blocking I/O,阻塞式I/O操作,表示Tomcat使用的是傳統(tǒng)的Java I/O操作(即java.io包及其子包),每一個(gè)請(qǐng)求都要?jiǎng)?chuàng)建一個(gè)線程來(lái)進(jìn)行處理,是Tomcat 7及之前版本默認(rèn)的運(yùn)行模式,性能最差,沒(méi)有經(jīng)過(guò)任何優(yōu)化處理。
(2)NIO:Non-Blocking I/O,非阻塞式I/O操作,Java SE 1.4及后續(xù)版本提供的一種新的I/O操作方式(即java.nio包及其子包),能夠通過(guò)少量的線程處理大量的請(qǐng)求,是Tomcat 8默認(rèn)的運(yùn)行模式,Java nio是一個(gè)基于緩沖區(qū),并能提供非阻塞I/O操作的Java API,利用Java異步I/O技術(shù),使得擁有比傳統(tǒng)I/O操作方式更好的并發(fā)運(yùn)行性能。
(3)APR:Apache Portable Runtime,Apache可移植運(yùn)行庫(kù),它是Apache HTTP Server2.x的核心。Tomcat以JNI(Java Native Interface,Java本地接口)的形式調(diào)用Apache HTTP服務(wù)器的核心動(dòng)態(tài)鏈接庫(kù)來(lái)處理文件讀取或網(wǎng)絡(luò)傳輸操作,從而大大提高Tomcat對(duì)靜態(tài)文件的處理性能,從操作系統(tǒng)級(jí)別來(lái)解決異步的I/O問(wèn)題,使用APR可以提供更好的伸縮性和更高的性能,更好的與底層服務(wù)做集成。APR模式是Tomcat生產(chǎn)環(huán)境運(yùn)行高并發(fā)應(yīng)用的首選模式。
2、安裝JDK:
# tar -xf jdk-8u241-linux-x64.tar.gz -C /usr/local
# cd /usr/local
# mv jdk1.8.0_241/ jdk
3、配置JDK環(huán)境變量:
# 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
# java -version
4、yum方式安裝相關(guān)軟件包:# 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"用#號(hào)注釋
# ./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環(huán)境變量:
# 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
# catalina.sh version
11、查看Tomcat 8.5默認(rèn)運(yùn)行模式:
# configtest.sh
12、修改server.xml配置文件:
# cd /usr/local/tomcat/conf
# cp server.xml{,.bak}
# vim server.xml
修改前(NIO模式) | 修改后(APR模式) |
備注:
(1)Tomcat的兩種連接器,HTTP和AJP
(2)AJP:Apache JServ Protocol,面向數(shù)據(jù)包的基于TCP/IP的協(xié)議,使用二進(jìn)制格式傳輸可讀性文本
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、查看配置后的運(yùn)行模式:
# catalina.sh configtest
15、啟動(dòng)Tomcat:
# useradd tomcat
# chown -R tomcat.tomcat /usr/local/tomcat
# su - tomcat -c "startup.sh"
名稱欄目:CentOS7.7Tomcat8.5開(kāi)啟APR運(yùn)行模式
網(wǎng)站地址:http://fisionsoft.com.cn/article/gicgec.html