Tomcat 8.5新安装环境初步配置优化
下载安装Tomcat
wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.37/bin/apache-tomcat-8.5.37.tar.gz
tar zxf apache-tomcat-8.5.37.tar.gz -C /usr/local
mv /usr/local/apache-tomcat-8.5.37 /usr/local/tomcattomcat是一个压缩包,下载完成后,只需要解压到安装目录即可。
环境配置优化
安装tomcat后,我们需要对tomcat做初始配置及优化。主要考虑以下几点:
- 
安全 
- 
把webapps下除ROOT外的目录全部删除,Tomcat有一个用户管理页面就存在这个目录下面基本用不上放着并不安全。 
- 
模式 
- 
tomcat有三种运行模式nio bio apr,默认为bio 我们来调整为apr模式。 
- 
调整熵池 
- 
提高熵池可以加快启动速度,有时你会发现启动时好久卡在session这块就是熵池太小的原因。 
- 
Jvm 
- 
分配tomcat运行占用内存。 
- 
server.xml 
- 
这部分将调整tomcat的配置文件中的线程以及线程池和压缩等参数。 
开启apr模式
yum -y install apr-devel openssl-devel进入你tomcat安装目录
cd /usr/local/tomcat/bin
tar zxf tomcat-native-1.2.16.tar.gz
cd tomcat-native-1.2.16-src/native
./configure && make && make install修改server.xml配置
定义端口这里HTTP1.1修改成org.apache.coyote.http11.Http11AprProtocolcatalina.sh脚本中
CLASSPATH=下加入
JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib"重启tomcat可看到http-apr-8080
加大熵池
可以查看我们系统默认的
cat /proc/sys/kernel/random/entropy_avail安装熵服务并启动
yum install rng-tools
systemctl start rngd
cp /usr/lib//system/rngd.service /etc//system
vim /etc/systemd/system/rngd.service    编辑熵服务
ExecStart=/sbin/rngd -f -r /dev/urandom     对照更改
systemctl daemon-reload
systemctl restart rngd这样你在查看熵大小会很惊讶的
JVM调整
修改catalina.sh,在CLASSPATH=下加入
JAVA_OPTS="-server -Xms5000m -Xmx5000m -Xmn512m -XX:+UseG1GC -XX:+PrintGCDetails  -XX:+PrintGCTimeStamps -Xloggc:../logs/gc.log"- Xms 初始化最小内存
- Xmx 可使用最大内存
- Xms和Xmx调整为相同减少内存频繁上下切换稳定些
- Xmn 年轻代内存
- -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:../logs/gc.log 输出gc日志方便查找问题
- -XX:+UseG1GC 开启G1垃圾回收
server.xml调整
  <Executor 
name="tomcatThreadPool" 
namePrefix="catalina-exec-"
maxThreads="600"
minSpareThreads="30"
prestartminSpareThreads="true"
maxIdleTime="60000"
/>
  <Connector port="8080" 
protocol="org.apache.coyote.http11.Http11AprProtocol"
executor="tomcatThreadPool"
enableLookups="false"
URIEncoding="UTF-8"
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
      connectionTimeout="20000"
maxPostSize="-1"
maxHttpHeaderSize="8192" 
acceptCount="600"
tcpNoDelay="true"  
disableUploadTimeout="true"
      redirectPort="8443" />以上配置对应服务为 Centos7.2/4核16G,生产环境稳定运行
另一个还可以调整log日志的存储位置,防止日志过大妨碍服务运行
系统的Tcp连接数也应去修改,阿里云默认为2000,根据服务情况去调整,增加并发。
 
             
             
             
             
            