Tomcat安装与配置

Posted 是烫的不是自来卷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat安装与配置相关的知识,希望对你有一定的参考价值。

 

 

1. 安装Tomcat

到官网下载http://tomcat.apache.org/

把下载文件复制到指定,并解压,即可使用

2. 配置说明

目录说明

文件夹

说明

bin

存放Tomcat启动、停止服务程序以及一些其他脚本程序

conf

存放Tomcat服务器的各种配置文件,最主要server.xml

lib

存放Tomcat服务器支撑jar包

logs

存放日志文件

temp

存放临时文件

webapps

web应用所在目录,外界访问web资源的存放目录

work

Tomcat工作目录,默认情况下把编译JSP文件生成的servlet类文件放于此目录下

conf下文件说明

文件

说明

server.xml

Tomcat 服务的主要配置文件

catalina.properties

JVM参数、系统属性等

catalina.policy

Tomcat的权限控制

web.xml

默认web配置文件

tomcat-users.xml

Tomcat 认证配置文件

logging.properties

Log 配置文件

 

server.xml主要配置说明

元素名

属性

解释

server

port

指定一个端口,这个端口负责监听关闭tomcat 的请求

shutdown

指定向端口发送的命令字符串(需要自行修改)

Connector

port

指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求

minProcessors

服务器启动时创建的处理请求的线程数

maxProcessors

最大可以创建的处理请求的线程数

enableLookups

调用request.getRemoteHost() 时是否通过DNS查询主机名

acceptCount

指定可以放到处理队列中的请求数,超过这个数的请求将不予处理

connectionTimeout

指定超时的时间数( 以毫秒为单位)

 

3. 优化和加固Tomcat

屏蔽 AJP

注释或者删除server.xml中的 Connector节点

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

删除webapps下文件 

删除webapps下原有所有文件

隐藏版本 

在Connector节点增加server属性配置

配置shutdown端口 

<Serverport="未被占用的端口" shutdown="较为复杂的字符串">

启动线程池

v Service节点下增加Executor节点(默认下为注释状态,打开后调整即可):

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" minSpareThreads="20" maxIdleTime="60000" maxQueueSize="100"/>

v Connector节点调整,:

增加 executor="tomcatThreadPool"

 

关闭反向查询

Connector节点增加/调整 enableLookups ="false"

使用NIO模式

Connector节点增加/调整 protocol="org.apache.coyote.http11.Http11Nio2Protocol"

优化JVM

参考网址:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html

配置项

说明

-server

 启用jdk 的 server 版

-Xmx

最大堆内存,建议1024M或2048M

-Xms

最小堆内存,建议设置成和-Xmx一致

-Xss

线程栈大小,默认1M,推荐256K

-XX:+AggressiveOpts

加快编译

-XX:+UseBiasedLocking

锁机制的性能改善

-XX:+DisableExplicitGC

关闭System.gc()

-XX:MaxTenuringThreshold

垃圾最大年龄

-XX:+UseConcMarkSweepGC

使用CMS内存收集

-XX:+UseParNewGC

设置年轻代为并行收集

-XX:+CMSParallelRemarkEnabled

降低标记停顿

-XX+UseCMSCompactAtFullCollection

在FULL GC的时候, 对年老代的压缩

-XX:LargePageSizeInBytes

内存页的大小不可设置过大, 会影响Perm的大小

-XX:+UseFastAccessorMethods

原始类型的快速优化

-XX:+UseCMSInitiatingOccupancyOnly

使用手动定义初始化定义开始CMS收集

打开 Tomcat路径\\bin\\ catalina.sh,在最顶部加入,黄色部分根据实际调整:

JAVA_OPTS="-server -Xms1024M -Xmx1024M -Xss256K -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled  -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true"

 

配置实例

<Connector port="8080"

        protocol="org.apache.coyote.http11.Http11NioProtocol"

        maxHttpHeaderSize="8192"

        executor="tomcatThreadPool"

        enableLookups="false"

        connectionTimeout="20000"

        URIEncoding="utf-8"

        acceptCount="400"

        acceptorThreadCount="2"

        redirectPort="8443" server="tomcat 1.0.0" />

 

以上是关于Tomcat安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

Tomcat安装与配置

Apache Tomcat 7 安装与配置

Tomcat10安装与配置图文教程

Tomcat+Meeclipse2015的安装与配置

Tomact安装与配置

Tomcat 安装与配置