tomcat优化

安装过程就不多说了,本次主要说明我在实际工作中的一些优化。   

1,修改tomcat的运行模式,常见的有 bio,nio, apr三种   

我选择的apr模式,这种对tomcat的性能有较大提高.

a:可以根据压力测试工具来进行测试观察。(其实我没对修改apr模式后压测,我直接问百度的)

b:重新启动tomcat后,在catalina.out中可以看到启动消耗了多少时间,改成apr模式后时间更短   

好,现在开始安装:  

先安装 apr

tar xzf apr-1.5.2.tar.gz  

cd apr-1.5.2

./configure –prefix=/usr/local/apr 

#如果有报一个不能rm的错,可以把configure中的 RM='$RM'改为RM='$RM  -f'     

make  

sudo make install   

 

再安装 apr-iconv  

tar xzf apr-iconv-1.2.1.tar.gz   

cd apr-iconv-1.2.1   

./configure –prefix=/usr/local/apr-iconv –with-apr=/usr/local/apr   

make  

sudo make install    

 

 

然后安装 apr-util   

 

tar xzf apr-util-1.5.4.tar.gz 

cd apr-util-1.5.4

./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr –with-apr-iconv=/usr/local/apr-iconv/bin/apriconv     

make   

sudo make install      

最后安装 tomcat-native

进入tomcat安装目录下面的bin目录下:

cd /usr/local/tomcat/bin/    

tar xzf tomcat-native.tar.gz  

cd tomcat-native-1.2.5-src/native

./configure –with-apr=/usr/local/apr –with-java-home=/usr/java/latest   

make   

sudo make install

添加环境变量

vi /etc/profile #在文件末尾处添加下面的变量 

 

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib

然后执行下面命令,使环境变量即时生效 

source /etc/profile    

然后重启tomcat服务器,去catalina.out 中看到是否有如下内容:

 Loaded APR based Apache Tomcat Native library 1.2.5 using APR version 1.5.2.   

 "http-apr-8080"

 

 如果日志中有报这样的错误: failed to initialize the sslengine 

 做如下修改:   

 <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />   

#############################################

2,关闭用不到的日志 (视自己情况而定)   

vim /usr/local/tomcat/conf/logging.properties     

blob.png       

3,最好不要使用多虚拟主机,Tomcat 是多线程,共享内存,任何一个虚拟主机中的应用出现崩溃,会影响到所有应用程序。防止因为一个虚拟主机出问题而影响其他虚拟主机。可以用多实例,每个站点一个实例,采用多个实例方式虽然开销比较大,但保证了应用程序隔离与安全      


4,  

隐藏tomcat版本:   

先来看一下网页上故意输错一个url会显示如下的tomcat版本信息:

blob.png       

在lib目录下手动创建一个文件:   

mkdir -p org/apache/catalina/util   

cd  org/apache/catalina/util    

vim ServerInfo.properties   添加如下内容:  

server.info= welcome to kongzhong.com     

然后重新tomcat,再此刷新页面就会看到修改后的版本信息   

有的公司可能自定义了404页面,可以忽略此优化项

blob.png   


5,应用程序安全 

server.xml中修改下面的设置:

关闭war自动部署 unpackWARs="false" autoDeploy="false"。防止被植入木马等恶意程序

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

 

6,关闭DNS反向查询
<Connector port=8080 中加入如下参数

enableLookups="false"

 

7,注释掉 tomcat-user.xml 里面的用户 


###########################################   


还有很多优化项,比如jvm调优,maxThreads 调优,这些等以后再补充。现在该下班了!

原创文章,作者:Net-18-黑人,如若转载,请注明出处:http://www.178linux.com/20710

(1)
Net-18-黑人Net-18-黑人
上一篇 2016-06-28 11:37
下一篇 2016-06-28 11:37

相关推荐

  • 关于man的几个重要命令

    接触Linux有很多年了,以前对于linux我觉得自己懂得的还算一般吧,可是听了马哥的关于linux的视频课程,发现自己就是一个还没入门的菜鸟,所以果断的狠心的报了马哥的网络班,拜在马哥旗下,以后就打着马哥的旗号到外面混,哈哈最初的这几天学习,因为工作和时间的等等等的关系,所以才到现在还在赶着写我的博客作业,现在就最有感触的几个命令串联一下。学习linux肯…

    Linux干货 2016-10-31
  • linux 加密和证书

    安全目标:机密性:明文传输的ftp, http,telnet 不安全数据完整性:身份验证:可用性:安全技术:认证,授权,安全通信,审计密码算法和协议:对称加密,公钥加密,单向加密,认证协议 1、对称加密:加密,解密使用同一个秘钥,效率高 DES:Data Encrption Standard, 56bit3DES:AES:AdvancedBlowfish缺点…

    2017-09-11
  • bash编程初体验(二)

    bash编程初体验(二) read if case 概述 在本篇文章中,我们将介绍bash编程中有关if语句的简单用法,if语句的基本思路是判断给定的条件是否满足,即结果是真还是假,从而选择执行哪种操作。如此,如果条件为真,if会执行一种指令,如果条件为假,if会选择执行另一种指令,这种执行就是所谓的选择结构,它能够改变命令的基本顺序流结构,以选择流的形式运…

    Linux干货 2016-08-19
  • 0809行编辑器sed

    sed :Stream EDitor, 行编辑器  sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出或者使用-i选…

    Linux干货 2016-08-10
  • 利用ansible-playbook从测试环境获取tomcat中java项目新版本发布到生产环境

    一、环境描述 安装有ansible的服务器:192.168.13.45 测试环境服务器:192.168.13.49 /home/app/api-tomcat/webapps/api.war为测试环境新版本war包位置 生产环境服务器:192.168.13.51 /home/app/api-tomcat/webapps/api.war为生产环境war包位置 /…

    Linux干货 2016-12-18

评论列表(1条)

  • stanley
    stanley 2016-06-28 11:38

    文章有待提高呀~