tomcat7基本配置与优化


1、增加虚拟机堆内存

2、修复JRE内存泄漏

3、线程池配置调整

4、压缩

5、管理AJP端口

6、隐藏Tomcat版本信息

7、应用程序安全

8、启动用户与端口

9、更改关闭 Tomcat 实例的指令

10、禁用 Tomcat 管理页面


1.增加jvm堆内存大小(物理内存的70%~80%),在catalina.sh文件中加入如下参数

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8

-server -Xms1024m -Xmx1024m

-XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m

-XX:MaxPermSize=512m -XX:+DisableExplicitGC"


2.修复JRE内存泄漏,在server.xml中开启这项配置

<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />


3.线程池配置调整

    <Connector port="8080"

address="127.0.0.1"

protocol="HTTP/1.1"

connectionTimeout="20000"

URIEncoding="UTF-8"

maxThreads="500"

minSpareThreads="64"

acceptCount="100"

enableLookups="false"

server="Neo App Srv 1.0"

redirectPort="8443" />


4.压缩(压缩会增加Tomcat负担,最好采用Nginx + Tomcat 或者 Apache + Tomcat 方式,压缩交由Nginx/Apache 去做。)

Tomcat有一个通过在server.xml配置文件中设置压缩的选项。压缩可以在connector像如下设置中完成

compression="on"

compressionMinSize="2048"             

compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"


5.管理AJP端口

AJP是为 Tomcat 与 HTTP 服务器之间通信而定制的协议,能提供较高的通信速度和效率。如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。由于我们公司前端是由nginx做的反向代理,因此不使用此连接器,因此需要注销掉该连接器。

<!--

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

-->


6.隐藏Tomcat版本信息

cd /usr/local/apache-tomcat-7.0.53/lib

mkdir -p org/apache/catalina/util

cd org/apache/catalina/util

vim ServerInfo.properties

server.info=tomcat


7.应用程序安全

关闭war自动部署,防止被植入木马等恶意程序

unpackWARs="false"

autoDeploy="false"

关闭 reloadable="false" 也用于防止被植入木马


8.启动用户与端口

Java 的JVM 是与系统无关的,是建立在OS之上的,你使用什么用户启动Tomcat,那麽Tomcat 就会继承该所有者的权限,这造成了一个问题,Linux系统小于1024的端口只有root可以使用,这也是为什么Tomcat默认端口是8080。如果你想使用80端口只能使用root启动Tomcat。

这有带来了很多安全问题


9.更改关闭 Tomcat 实例的指令

server.xml中定义了可以直接关闭 Tomcat 实例的管理端口。我们通过 telnet 连接上该端口之后,输入 SHUTDOWN (此为默认关闭指令)

即可关闭 Tomcat 实例(注意,此时虽然实例关闭了,但是进程还是存在的)。由于默认关闭 Tomcat 的端口和指令都很简单。默认端口为8005,指令为SHUTDOWN 。因此我们需要将关闭指令修改复杂一点。

当然,在新版的 Tomcat 中该端口仅监听在127.0.0.1上,因此大家也不必担心。除非黑客登陆到tomcat本机去执行关闭操作。

修改实例:

<Server port="8005" shutdown="Ws3yLgAEhSWrXhFdMWBtqIhg9CS102kX">


10.禁用 Tomcat 管理页面

我们线上是不使用 Tomcat 默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。这些页面是存放在 Tomcat 安装目录下的webapps目录下的。我们只需要删除该目录下的所有文件即可。

当然,还有涉及管理页面的2个配置文件 host-manager.xml 和 manager.xml 也需要一并删掉。

这两个文件存放在 Tomcat 安装目录下的conf/Catalina/localhost目录下


你可能感兴趣的:(tomcat,设置,配置优化)