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
下一篇 2016-06-28

相关推荐

  • iptables初探

    iptables 简述 基础知识 命令使用 简述 iptables是什么?netfilter又是什么? iptables是位于用户控件的一个防火墙规则控制管理工具。netfilter是位于内核中的真正的防火墙,由五个钩子函数(hooks)而组成。 iptables的作用是什么? 用来添加,删除,管理netfilter规则。 netfilter的作用是什么? …

    2016-05-31
  • 文本处理工具练习题(包含正则)

    正则练习题(包含文本处理练习题) 问题 找出ifconfig命令结果中本机的所有IPv4地址  查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干货 2016-08-08
  • Mysql 多表联合查询效率分析及优化

    1. 多表连接类型 1. 笛卡尔积(交叉连接) 在MySQL中可以为CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:  SELECT * FROM table1 CROSS JOIN table2  &nb…

    Linux干货 2015-04-13
  • Shell编程(1)

    Shell编程:     编程语言:机器语言、汇编语言、高级语言         高级语言:             静…

    Linux干货 2016-08-18
  • linux命令简单应用

    创建/tmp目录下的:a_c, a_d, b_c, b_d touch /tmp/{a,b}_{c,d} [root@bogon ~]# tree /tmp /tmp |– a_c |– a_d |– b_c |– b_d 创建/tmp/mylinux目录下的: mylinux/ ├── bin ├── boo…

    Linux干货 2016-11-06

评论列表(1条)

  • stanley
    stanley 2016-06-28 11:38

    文章有待提高呀~