tomcat初识

来源:互联网 发布:算法导论和数据结构 编辑:程序博客网 时间:2024/05/16 17:13
tomcat
概念:
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器
conf目录下的server.xml中有一个Connector标签,这个是使用tomcat服务器最基本的一个标签
<Connector port="80" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="150"
               connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="gbk"/>


maxThreads:最大线程数  是tomcat接受的最大连接数  一般不要超过8000 如果网站访问量大  可以运行多个tomcat服务器,然后做负载均衡
acceptCount:最大排队数  当连接数等于maxThreads时,接受等待排队的个数
一般这两个属性设置一样的个数
minSpareThreads tomcat初始化时创建的线程数
maxSpareThreads tomcat一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。
enableLookups 是否反查域名,默认是true,为了提高性能,一般设置为false
1、编码方式
URIEncoding 设置编码方式  在windows系统上估计影响不太大,但是在Linux系统上可能有很大的影响,除了页面上设置pageEncoding,jsp页面的properties也可以设置编码方式,再就是tomcat容器中也可以设置
2、设置用户
在conf目录下的tomcat-users.xml文件中,Tomcat Manager 在通常情况下是禁用的,需要在这个xml中配置用户角色
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
<user username="admin" password="123456" roles="manager-script"/>
role代表的是角色  也就是权限
user 代表的是manager用户
3、内存溢出
从数据库查询大量数据或者应用服务器加载jar包时有时会出现: java.lang.OutOfMemoryError: PermGen space这个异常
在catalina那个文件中添加JAVA_OPTS的那行代码
-server 启用jdk 的 server 版; 
-Xms   java虚拟机初始化时的最小内存; 
-Xmx  java虚拟机可使用的最大内存; 
-XX:PermSize    内存永久保留区域 
-XX:MaxPermSize   内存最大永久保留区域 
-Xms=-Xmx=服务器内存*70%,如部署tomcat,jboss在同一台服务器-Xms=-Xmx=服务器内存*80%*1/4,现公司服务器内存一般都可以加到最大4G,所以可以采取以下配置,把以下参数添加到catalina.sh里面,
JAVA_OPTS='-server -Xms1024m -Xmx4096m -XX:PermSize=256M -XX:MaxNewSize=256m-XX:MaxPermSize=256m'
 
#-Xmx6000m                        :设置JVM最大可用内存为6000MB
#-Xms6000m                        :设置JVM初始可用内存为6000MB
#-Xmn2g                              :设置年轻代大小为2G
#-Xss128k                             :设置每个线程的堆栈大小为128k
#-XX:NewRatio=4                 :设置年轻代与年老代的比值为4
#-XX:SurvivorRatio=4            :设置年轻代中Eden区与Survivor区的大小比值为4
#-XX:PermSize=512m                    :设置堆栈永久区起始大小为512m
#-XX:MaxPermSize=512m             :设置堆栈永久区最大大小为512m
#-XX:MaxTenuringThreshold=0     :设置垃圾最大年龄为0
#-XX:+UseParallelGC                     :选择垃圾收集器为并行收集器
#-XX:ParallelGCThreads=8             :配置并行收集器的线程数
#-XX:+UseParallelOldGC                :配置年老代垃圾收集方式为并行收集
#-XX:+UseAdaptiveSizePolicy     :并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低响应时>间或者收集频率等,此值建议使用并行收集器时,一直打开。
4、tomcat的安全配置与内存优化
tomcat内存优化主要是对tomcat启动参数的优化,在catalina.sh 中设置 JAVA_OPTS参数




5、会话过期时间和连接过期时间
会话过期:是指session的过期时间  在conf下的web.xml中配置 <session-timeout></session-timeout>标签

连接过期:是指url连接等待最大时间是connector标签的一个属性  在conf下的server.xml中Connector标签的connectionTimeout属性



0 0
原创粉丝点击