1、安装Tomcat
1.1、下载
下载路径:https://tomcat.apache.org/download-90.cgi
1.2、配置
1.2.1、配置虚拟路径
cd /usr/local/tomcat-8088/conf
vim server.xml
找到Host name="localhost"如下修改:
<Host name="localhost" appBase="/home/scjt/web/expressway8088" unpackWARs="true" autoDeploy="true" reloadable="false">
将reloadable改为false。
1.2.2、配置jdk
cd /usr/local/tomcat-8088/bin
vim setclasspath.sh
export JAVA_HOME=/usr/local/jdk1.8.0_191
export JRE_HOME=/usr/local/jdk1.8.0_191/jre
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib
如果配第二个tomcat,需再增加,第一个不需要:
# tomcat8086 env
export CATALINA_HOME_8086=/usr/local/tomcat-8086
export CATALINA_BASE_8086=/usr/local/tomcat-8086
export TOMCAT_HOME_8086=/usr/local/tomcat-8086
tomcat名称以你新建的tomcat命名为准。
1.2.3、配置环境变量
vim /etc/profile
环境变量增加如下:
# tomcat8088 env
export CATALINA_HOME=/usr/local/tomcat-8088
export CATALINA_BASE=/usr/local/tomcat-8088
export TOMCAT_HOME=/usr/local/tomcat-8088
如有第二个tomcat,还需要再增加:
# tomcat8086 env
export CATALINA_HOME_8086=/usr/local/tomcat-8086
export CATALINA_BASE_8086=/usr/local/tomcat-8086
export TOMCAT_HOME_8086=/usr/local/tomcat-8086
执行,使环境变量生效。
source /etc/profile
1.2.4、加大内存
vim catalina.sh
找到cygwin=false,在这一行的前面加入参数,具体如下:
JAVA_OPTS="-server -Xms1024m -Xmx7000m -XX:MaxNewSize=512m"
jvm参数说明:
-server 一定要作为第一个参数,启用JDK的server版本,在多个CPU时性能佳
-Xms java Heap初始大小。 默认是物理内存的1/64。
-Xmx java heap最大值。建议均设为物理内存的80%。不可超过物理内存。
-Xmn java heap最小值,一般设置为Xmx的3、4分之一。
-XX:SurvivorRatio=2 生还者池的大小,默认是2。如果垃圾回收变成了瓶颈,您可以尝试定制生成池设置
-XX:NewSize 新生成的池的初始大小。 缺省值为2M。
-XX:MaxNewSize 新生成的池的最大大小。 缺省值为32M。
+XX:AggressiveHeap 让jvm忽略Xmx参数,疯狂地吃完一个G物理内存,再吃尽一个G的swap。
-Xss 每个线程的Stack大小
-verbose:gc 现实垃圾收集信息
-Xloggc:gc.log 指定垃圾收集日志文件
-XX:+UseParNewGC 缩短minor收集的时间
-XX:+UseConcMarkSweepGC 缩短major收集的时间
-XX:userParNewGC 可用来设置并行收集(多CPU)
-XX:ParallelGCThreads 可用来增加并行度(多CPU)
-XX:UseParallelGC 设置后可以使用并行清除收集器(多CPU)
1.2.5、配置第二个tomcat
如果配第二个tomcat,需再增加,第一个不需要:
vim catalina.sh
在开始处加入,命名同环境变量:
export CATALINA_BASE=$CATALINA_BASE_8086
export CATALINA_HOME=$CATALINA_HOME_8086
1.2.6、处理不能关闭
vim catalina.sh
找到# Ensure that any user defined CLASSPATH variables are not used on startup,
在前加入:
# shutdown tomcat
if [ -z "$CATALINA_PID" ]; then
CATALINA_PID=$PRGDIR/CATALINA_PID
cat $CATALINA_PID
fi
vim shutdown.sh
找到:
exec "$PRGDIR"/"$EXECUTABLE" stop "$@" 增加参数-force,增加后如下:
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
1.2.7、加大并发量
cd /usr/local/tomcat-8088/conf
vim server.xml
去掉如下注释:
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/>
-->
改为:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="25" maxIdleTime="4000" />
关闭https安全验证,将:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
改为:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />
SSLEngine简单理解为,就是数据发送前wrap打包加密,数据接收时unwrap解包解密,这样一个https通过SSLEngine的过程。
注掉如下代码:
改为:
<Connector executor="tomcatThreadPool" port="8088" protocol="org.apache.coyote.http11.Http11AprProtocol" URIEncoding="UTF-8" enableLookups="false" maxThreads="800" acceptCount="1000" connectionTimeout="1000"maxKeepAliveRequests="500" redirectPort="8443" />
2、安装APR
2.1、下载
下载apr,apr-util。
下载路径:http://apr.apache.org/download.cgi
下载地址:
http://mirrors.hust.edu.cn/apache//apr/apr-1.6.5.tar.gz
http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
2.2、安装expat-devel
yum -y install expat-devel
2.3、安装apr
cd /usr/local
tar -zxvf apr-1.6.5.tar.gz
cd apr-1.6.5
./configure
make
make install
2.4、安装apr-util
cd /usr/local
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --with-apr=/usr/local/apr/
make
make install
3、安装tomcat-native
cd /usr/local/tomcat-8088/bin
tar -zxvf tomcat-native.tar.gz
cd tomcat-native-1.2.18-src/native
./configure --with-apr=/usr/local/apr/bin/apr-1-config --with-java-home=/usr/local/jdk1.8.0_191
make
make install