读书人

linux上tomcat优化

发布时间: 2012-08-28 12:37:01 作者: rapoo

linux下tomcat优化

一、安装tomcatapr

1. 下载tomcat apr,下载地址:http://apr.apache.org/,下载apr-util-1.3.11.tar.gz,apr-iconv-1.2.1.tar.gz,apr-1.4.4.tar.gz。

2. 解压apr,运行命令:

tar -zxvf apr-util-1.3.11.tar.gz tar zxvf apr-iconv-1.2.1.tar.gz tar zxvf apr-1.4.4.tar.gz

?

?3. 安装apr,运行命令:

tar zxvf apr-1.4.2.tar.gz cd apr-1.4.2 ./configure --prefix=/usr/local/www/apr make make install

?4. 安装apr-iconv:

tar -zxvf apr-iconv-1.2.1.tar.gz cd apr-iconv-1.2.1 ./configure --prefix=/usr/local/www/apr-iconv --with-apr=/usr/local/www/apr makemake install

?5. 安装apr-util:

tar zxvf apr-util-1.3.9.tar.gz cd apr-util-1.3.9 ./configure --prefix=/usr/local/www/apr-util --with-apr=/usr/local/www/apr --with-apr-iconv=/usr/local/www/apr-iconv/bin/apriconv make make install

?6. 下载tomcat-native,下载网址:http://tomcat.apache.org/download-native.cgi

?7. 上传tomcat-native 至tomcat目录下的bin目录中,运行命令:

chmod +x tomcat-native-1.1.20-src.tar.gz

?8.? 解压tomcat-native,运行命令:

tar zxvf tomcat-native-1.1.20-src.tar.gz

?9.? 进入native目录,运行命令:

cd tomcat-native-1.1.20-src/jni/native

10.安装tomcat-native,运行命令:

./configure --with-apr=/usr/local/www/apr --with-java-home=/usr/local/java make make install

11.修改profile文件,添加以下内容:

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

二、Tomcat内存设置
进入tomcat目录下的bin目录,运行命令:

vi startup.sh

??添加以下代码,保存退出,重新启动tomcat。

JAVA_OPTS=’-Xms256m -Xmx1024m’Xms:初始化内存Xmx:最大使用内存

三、修改tomcat配置文件

打开tomcat/conf/目录

?

修改server.xml文件:

1.找到“<Server port="8005" shutdown="SHUTDOWN">”

修改为:

<Server port="8995" shutdown="shut_down_tc"> 

端口和关闭命令根据情况修改,目的是防止别人调用默认关闭命令来关闭tomcat。

2.找到“<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />”。

修改为:

<!-- <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> -->

注释掉tomcat的虚拟机内存监听器,因为这个监听器很有可能误报内存消耗过大或内存溢出等情况。

3.修改tomcat并发连接数

tomcat6.0 默认并发数为200,查看方法和JVM一样,查看http-8080选项

Max threads: 200

vi /usr/local/www/tomcat/conf/server.xml

?修改前:

? <Connector port="8080" protocol="HTTP/1.1" redirectPort="8443" connectionTimeout="20000" />

?修改后:?

<Connector port="8080" protocol="HTTP/1.1" maxHttpHeaderSize="8192" useBodyEncodingForURI="true" maxThreads="1000" redirectPort="8443" enableLookups="false" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout="20000" disableUploadTimeout="true" /> 

?


redirectPort 服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号。

maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。

acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。

minSpareThreads Tomcat初始化时创建的线程数。

maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。

compression="on" 打开压缩功能

compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB

compressableMimeType 压缩类型

?

4.修改日志文件目录

找到“<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"?
?????????????? prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>”

把注释去掉,directory修改为自己指定的目录

?

修改tomcat-users.xml文件:

1.打开tomcat-users.xml文件,找到“<tomcat-users>”标签,在<tomcat-users>下配置了几个tomcat用户,在一般情况下这些用户是无用的,可以全部删除,只留下<tomcat-users></tomcat-users>空配置,当如果用户想使用tomcat的管理功能就需要配置一个admin用户,否则无法使用管理台。

?

修改web.xml文件:

打开web.xml文件,找到web-app标签中的version="2.4" 可以根据情况改修改,如果tomcat为5.x版本很有可能不支持jstl表达式,所以这时就需要改成2.4。

找到:

<servlet>   <servlet-name>default</servlet-name>   <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>   <init-param>     <param-name>debug</param-name>     <param-value>0</param-value>   </init-param>   <init-param>     <param-name>listings</param-name>     <param-value>false</param-value>   </init-param>   <load-on-startup>1</load-on-startup> </servlet> 

?

这个servlet配置,把listings的值改成false,禁止在没有找到页面的情况下以列表显示所有页面。

读书人网 >UNIXLINUX

热点推荐