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

相关推荐

  • sed的模式匹配用法探讨

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1405753 [root@sunsky Desktop]# cat sunsky a b c d e f [root@sunsk…

    Linux干货 2016-08-15
  • LInux系统启动与内核管理(下)

    从上一篇介绍了系统启动流程可以得知,在BIOS读取相关信息之后,接下来就是去找第一个可以启动的设备当中的MBR中读取Boot Loader信息,Boot Loader提供具有惨淡功能,直接加载内核信息,以及相关的控制权转交功能。启动系统必须有Boot Loader,然后才能去加载内核,Boot Loader存储于MBR当中,MBR只有512字节,其中前446…

    Linux干货 2016-09-19
  • 26期全程班-第一周博客作业

    1、描述计算机的组成与功能。 计算机由以下五大单元组成: 一:CPU的算法计算和逻辑判断单元; 二:CPU的控制单元;协调各设备协同工作。 三:内存:RAM(random accace memory)随机读取内存;数据处理的必经路段。 四:输入设备:键盘、鼠标等;负责数据的输入。 五:输出设备:屏幕、终端、文件、硬盘等;负责数据的输出 2、按系列罗列Linu…

    Linux干货 2016-12-30
  • 逻辑卷管理器LVM

    一、LVM逻辑卷管理     lvm(Logical Volume Manage,逻辑卷管理)的重点在于可以弹性的调整filesystem的容量,而并非在于数据的存储效率及安全上面。需要文件的读写效能或者是数据的可靠性是RAID所考虑的问题。LVM可以整合多个实体partition在一起,让这些partitions看起…

    Linux干货 2016-09-02
  • 模块化的php编译amp和fpm化的php编译amp;

    编译安装amp 一,编译环境前准备工作 (1) 系统环境:CentOS 6,7     CentOS 6:apr, apr-util的版本为1.3.9,不适用于httpd-2.4;     CentOS 7:apr, a…

    Linux干货 2016-10-17
  • 随笔

    GREP正则表达式: 复习: glob文件通配符:     *:任意长度字符:     ?:任意单个字符:     []:括号内的任意单个字符:     [^]:括号内字符除外:  &nbs…

    Linux干货 2016-07-16

评论列表(1条)

  • stanley
    stanley 2016-06-28 11:38

    文章有待提高呀~