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:03
下一篇 2016-06-28 11:48

相关推荐

  • 网络管理

    网络管理 本章内容 网络概念 OSI模型 网络设备 TCP/IP IP地址 配置网络 实现网络组 测试网络 网络工具 为linux网卡配置ip地址,不是给网卡配置地址,是给内核的网络功能配置,地址是属于内核。为内核配置即时生效,修改配置文件,是永久生效。ifconfig 配置信息,会立即生效,但是重启网络服务或主机,都失效。网络服务/etc/init.d/n…

    Linux干货 2016-09-05
  • 信息论的熵

    1.  前言    熵的概念最早起源于物理学,用于度量一个热力学系统的无序程度。    在信息论里则叫信息量,即熵是对不确定性的度量。从控制论的角度来看,应叫不确定性。信息论的创始人香农在其著作《通信的数学理论》中提出了建立在概率统计模型上的信息度量。他把信息定义为“用来消除不确定性的东西”。在信息世界,熵越…

    Linux干货 2016-03-27
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^([[:space:]]{1,}.*)/#\1/s 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行…

    Linux干货 2016-08-15
  • shell脚本基础

    1、编程基础     程序:指令+数据   程序编程风格:                         过程式:以指令为中心,数据服务于指令         &nbs…

    2017-04-20
  • 文件系统管理_设定文件系统的配额

    认识配置配额系统 :为控制用户使用的空间的大小,在linux可以实现对分区的大小控制,控制用户在这个分区内使用空间的大小同时还可以对用户的文件个数实现控制。 在linux系统中其遵循文件分区来实现控制 磁盘的配额只针对单个分区来实现控制,不能对单块磁盘(硬盘)来实现控制的 【搭建试验环境 1】 怎样把某一个文件夹(/home)单独放到(迁移)一个独立的分区中…

    Linux干货 2017-04-24
  • test

    欢迎使用马克飞象 作业帮 示例笔记本 马克飞象 帮助 Markdown 马克飞象是一款专为印象笔记(Evernote)打造的Markdown编辑器,通过精心的设计与技术实现,配合印象笔记强大的存储和同步功能,带来前所未有的书写体验。特点概述: 功能丰富 :支持高亮代码块、LaTeX 公式、流程图,本地图片以及…

    Linux干货 2017-03-20

评论列表(1条)

  • stanley
    stanley 2016-06-28 11:38

    文章有待提高呀~