设为首页 收藏本站
查看: 831|回复: 0

[经验分享] tomcat7基本配置与优化

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-21 09:25:00 | 显示全部楼层 |阅读模式
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目录下



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-69061-1-1.html 上篇帖子: Tomcat windows下安装 下篇帖子: Windows Server 2008 R2安装tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表