一. .修改 jvm 为 server 版
在命令行 java -version 可以看到 jvm 配置的是哪个版本。
编辑 %JAVA_HOME%\jre\lib\i386\jvm.cfg ,把第二行的 -server KNOWN 放到第一行
二、调整参数
修改 server.xml
- maxThreads 可创建的最大的线程数。
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的
请求数,超过这个数的请求将不予处理。
connnectionTimeout 网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患
的。通常可设置为 30000 毫秒。
minSpareThreads 初始化时创建的最小空闲线程数。
maxSpareThreads 最大空闲连接线程数, 即并发处理的最大请求数 ,一旦创建的线程超过这个
值, Tomcat 就会关闭不 再需要 的 socket 线程。 - 禁用反查域名功能 enableLookups
是否反查域名 ,取 值为: true 或 false。为 了提高 处理 能力 ,应设置为 false
3.启用支持 gzip 压缩 . 添加下 列属性
compression=“on”
compressionMinSize=“2048”
noCompressionUserAgents=“gozilla, traviata”
compressableMimeType=“text/html,text/xml”
4.虚拟目录 的相关设置 (运 行服务器)
set reloadable to false (dev use only); set liveDeploy to false (ditto); set debug to 0; set swallowOutput to
true.
修改 后的示 例:
< Connector port=“8080” maxThreads=“150” minSpareThreads=“25” maxSpareThreads=“75”
enableLookups=“false” redirectPort=“8443” acceptCount=“200” connectionTimeout=“20000”
disableUploadTimeout=“true” URIEncoding=“GBK” compression=“on”
compressionMinSize=“2048” noCompressionUserAgents=“gozilla, traviata”
compressableMimeType=“text/html,text/xml” />
< Connector port=“8009” enableLookups=“false” redirectPort=“8443” protocol=“AJP/1.3”
URIEncoding=“GBK”/>
< Host appBase=“C:/aaaa” autoDeploy=“true” debug=“0” deployXML=“true” liveDeploy=“false”
name=" www.xxx.com " unpackWARs=“true”>
< Context cachingAllowed=“true” cookies=“true” crossContext=“true” debug=“0”
docBase=“C:/aaa/bbb” path="" privileged=“false” reloadable=“false” swallowOutput=“false”
useNaming=“true” >
< /Context>
< /Host>
三、调整 jvm 可以 支持 的最大 内存
- windows 平台
设置 系统环境变量 :JAVA_OPTS=-server -Xms256M -Xmx512M
或在 catalina.bat 中 加入了 一行 :
set JAVA_OPTS=-server -Xms256M -Xmx512M
大小 根据 设置为可用 内存 的 80%左右
如果 是作为服务运 行,可以在 java options 选项里添加 -server -Xms256M -Xmx512M - linux 平台
在文件 {tomcat_home}/bin/catalina.sh 的前面 ,增加如下 设置:
JAVA_OPTS=-server –Xms256m –Xmx512m
四,常遇到的一 些简 单问题 的解决方法 :
1.如何禁止访问目录 列表 :
修改 tomcat x.x/conf/web.xml 内的一个 属性 值,就是把 true 改为 false
在 web.xml 里找 到以 下代码
< 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>true< /param-value>
< /init-param>
< load-on-startup>1< /load-on-startup>
< /servlet>
把其 中的
< init-param>
< param-name>listings< /param-name>
< param-value>true< /param-value>
< /init-param>
改为
< init-param>
< param-name>listings< /param-name>
< param-value>false< /param-value>
< /init-param>
添加如下红色字体代码
< servlet>
< servlet-name>jsp< /servlet-name>
< servlet-class>org.apache.jasper.servlet.JspServlet< /servlet-class>
< init-param>
< param-name>fork< /param-name>
< param-value>false< /param-value>
< /init-param>
< init-param>
< param-name>xpoweredBy< /param-name>
< param-value>false< /param-value>
< /init-param>
< init-param>
< param-name>development< /param-name>
< param-value>false< /param-value>
< /init-param>
< init-param>
< param-name>reloading< /param-name>
< param-value>false< /param-name>
< /init-param>
< load-on-startup>3< /load-on-startup>
< /servlet>
2.如果某文件资源没 有找 到, 服务器要报 404 错误 ,
如果 执行的 某个 JSP 文件 产生 NullPointException 会显示一 些不想异 常提示 代码 , 为 了
让用 户看到 更更友好 的页面, 可在 自己 的虚拟目录 的 WEB-INF/web.xml 中作如下 的设置
< error-page>
< error-code>404< /error-code>
< location>/notFileFound.jsp< /location>
< /error-page>
< error-page>
< exception-type>java.lang.NullPointerException< /exception-type>
< location>/null.jsp< /location>
< /error-page>
同理,你也 可以设置 抛出 其它异 常时 应该显 示的 页面!
另外 在 jsp 页面 最上方加 上这样一 句话 ,
<%@ page isErrorPage=“true” errorPage=“error.jsp”%>
也 可以 捕捉 NullPointerException 这种异 常,此时转向 error.jsp
3.设置 session的超时时 间 (单位 :分钟 )
< session-config>
< session-timeout>30< /session-timeout>
< /session-config>
4.设置 默认欢迎页 面(当不 输入文件名 ,只输 入目录 时起作用)
< welcome-file-list>
< welcome-file>index.jsp< /welcome-file>
< welcome-file>index.html< /welcome-file>
< welcome-file>index.htm< /welcome-file>
< /welcome-file-list>