一、去官网下载最新版本的Tomcat到/usr/local目录下
二、解压tomcat
tar -zxf apache-tomcat-9.0.16.tar.gz
三、优化catalina.sh文件
vim /usr/local/apache-tomcat-9.0.16/bin/catalina.sh
#在该注释后加入如下代码
# OS specific support. $var _must_ be set to either true or false.
export JAVA_OPTS="-server -Xms512M -Xmx1400M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=8 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"
四、优化server.xml文件
vim /usr/local/apache-tomcat-9.0.16/conf/server.xml
#修改内容如下
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
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" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="9000" protocol="HTTP/1.1"
URIEncoding="UTF-8"
maxHttpHeaderSize="8192"
maxThreads="1200"
enableLookups="false"
acceptCount="200"
connectionTimeout="20000"
disableUploadTimeout="true"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
</Server>
五、开启tomcat的apr模式
- 安装apr和gcc
yum -y install apr apr-devel
yum -y install gcc
- 安装native
cd /usr/local/apache-tomcat-9.0.16/bin/
tar xzfv tomcat-native.tar.gz
cd tomcat-native-1.2.21-src/native/
./configure --with-apr=/usr/bin/apr-1-config
make
make install
安装完成后会提示
3. 整合Tomcat的apr到环境上变量中
vim /etc/profile
#在文件中加入下面这句话
export CATALINA_OPTS=-Djava.library.path=/usr/local/apr/lib
#使配置生效
source /etc/profile
- 修改tomcat的server.xml配置文件
vim tomcat/conf/server.xml
#将配置中的
Connector port="8080" protocol="HTTP/1.1"
改成
Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
将配置中的
Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
改成
Connector port="8009" protocol="org.apache.coyote.ajp.AjpAprProtocol" redirectPort="8443"
重启tomcat,启动日志出现以下内容证明此时以APR模式启动
INFO: Initializing ProtocolHandler ["http-apr-8080"]
INFO: Initializing ProtocolHandler ["apj-apr-8009"]