资源描述
Tomcat,北京紫光华宇软件股份有限公司 张敏,Tomcat的定义,Tomcat是Apache 软件基 金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是7.0。,历史版本及最新版本,tomcat3.x:支持的Servlet/JSP规范版本2.2/1.1 tomcat4.x:支持的Servlet/JSP规范版本2.3/1.2 tomcat5.x:支持的Servlet/JSP规范版本2.4/2.0 tomcat6.x:支持的Servlet/JSP规范版本2.5/2.1 tomcat7.x:支持的Servlet/JSP规范版本3.0/2.2 最新版本是7.0.25,提个问题,各个版本之间除了支持的Servlet/JSP规范外还有什么区别?,1. tomcat下有哪些文件夹,都有什么作用,tomcat下有9个目录,分别是bin,common,conf,logs,server,shared,temp,webapps,work 目录,现在对每一目录做介绍。 tomcat根目录在tomcat中叫 1)/bin用于存放各种平台下启动和关闭Tomcat的脚本文件。其中有个档是catalina.bat,打开这个windos配置文件,在非注释行加入JDK路径,例 如 : SET JAVA_HOME=C:j2sdk1.4.2_06 保存后,就配置好tomcat环境了。 startup.bat是windows下启动tomcat的文件,shutdown.bat是关闭tomcat的文件。 2)/common: 在common目录下的lib目录,存放Tomcat服务器和所有web应用都能访问的JAR?。 3 /shared: 在shared目录下的lib目录,存放所有web应用能访问的,但Tomcat不能访问的JAR?。 4) /server: 在server/webapps目录中,存放Tomcat自带的两个APP-admin和manager应用,使用来管理Tomcat-web服务用的。 在server/lib目录中,存放tomcat服务器所需要的各种jar包。,5)/work : Tomcat把各种由jsp生成的servlet文件放在这个目录下。work这个文件夹下面的东西建议你去看看就可以明白了 那是JSP文件编译成.java-.classes 6)/temp : 临时活页夹,Tomcat运行时候存放临时文件用的。 7)/logs : 存放Tomcat的日志文件 8) /conf : Tomcat的各种配置文件, tomcat启动的时候需要读取的配置文件:server.xml(tomcat主要配置文件)、web.xml和tomcatat- users.xml、catalina.policy(安全策略文件)等。修改了以后需要重启tomcat才能生效.最重要的是 server.xml 9) /webapps: web应用的发布目录,把 java开发的web站点或war文件放入这个目录下就可以通过tomcat服务器访问了。,2. tomcat的发布方式,除了直接放在/webapps下还有什么方法,使用系统的绝对路径访问,这里需要做一个配置,./apache-tomcat/conf下,打开server.xml文件,到server.xml文件的最后,在里面加一个 然后保存就可以了! 详细代码: 站点或war文件放入这个目录下就可以通过tomcat服务器访问了。 见“将WEB应用发布到Tomcat中的几种方式.doc”,3.怎么配置数据源, 。 见 “tomcat配置数据源.docx”,4.怎么配置访问日志,为不同的应用配置单独的访问日志,配置访问日志 在server.xml里的标签下加上 为不同的应用配置单独的访问日志? 在网上找不到!在项目里面可以配置(见 log4j.properties),但是在tomcat里面配置就不知道了。,5. Session失效怎么配置,在server.xml里面 在web.xml里面 30 求解:这两个参数的设定会冲突吗?不同时到底哪个为准?,6.禁止查看文件目录,修改confweb.xml,把listing设置为falsedefaultorg.apache.catalina.servlets.DefaultServletdebug0listingstruefalse1,7. Tomcat的优化有哪些?jvm怎么调整内存大小,怎么禁用DNS查询,Tomcat的优化太多了,见“tomcat优化.docx” 1.精简Tomcat和配置文件 2.连接器优化 .,Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。有以下几种方法可以选用: 第一种方法: Windows下,在文件/bin/catalina.bat,Unix下,在文件/bin/catalina.sh的前面,增加如下设置: JAVA_OPTS=-Xms【初始化内存大小】 -Xmx【可以使用的最大内存】 需要把这个两个参数值调大。例如: JAVA_OPTS=-Xms256m -Xmx512m 表示初始化内存为256MB,可以使用的最大内存为512MB。 第二种方法: 环境变量中设 变量名:JAVA_OPTS 变量值:-Xms512m -Xmx512m,jvm怎么调整内存大小,第三种方法:前两种方法针对的是bin目录下有catalina.bat的情况(比如直接解压的Tomcat等),但是有些安装版的Tomcat下 没有catalina.bat,这个时候可以采用如下方法,当然这个方法也是最通用的方法:打开tomcatHome/bin /tomcat5w.exe,点击Java选项卡,然后将会发现其中有这么两项:Initial memory pool和Maximum memory pool.Initial memory pool这个就是初始化设置的内存的大小。Maximum memory pool这个是最大内存的大小 设置完了就按确定然后再重启TOMCAT你就会发现tomcat中jvm可用的内存改变了,jvm怎么调整内存大小,当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络, 并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭 DNS查询,方式是修改server.xml文件中的enableLookups参数值:Tomcat4 Tomcat5 ,禁用DNS查询,除非你需要连接到站点的每个HTTP客户端的机器名,否则我们建议在生产环境上关闭DNS查询功能。可以通过Tomcat以外的方式来获取机器 名。这样不仅节省了网络带宽、查询时间和内存,而且更小的流量会使日志数据也会变得更少,显而易见也节省了硬盘空间。对流量较小的站点来说禁用DNS查询 可能没有大流量站点的效果明显,但是此举仍不失为一良策。,禁用DNS查询,8.如何使用线程池,见“tomcat线程池简介.docx”,9.如何加速JSP编译,在Tomcat 4.1(或更高版本),JSP的编译由包含在Tomcat里面的Ant程序控制器直接执行。这听起来有一点点奇怪,但这正是Ant有意为之的一部分,有一 个API文档指导开发者在没有启动一个新的JVM的情况下,使用Ant。这是使用Ant进行Java开发的一大优势。另外,这也意味着你现在能够在Ant 中使用任何javac支持的编译方式,这里有一个关于Apache Ant使用手册的javac page列表。使用起来是容易的,因为你只需要在元素中定义一个名字叫“compiler”,并且在value中有一个支持编译的编译器名字,示例如下:,9.如何加速JSP编译,jsporg.apache.jasper.servlet.JspServletlogVerbosityLevelWARNINGcompilerjikes3,10.什么是负载均衡和集群,在负载均衡的思路下,多台服务器为对称方式,每台服务器都具有同等的地位,可以单独对外提供服务而无须其他服务器的辅助。通过负载分担技术,将外部发送来的请求按一定规则分配到对称结构中的某一台服务器上,而接收到请求的服务器都独立回应客户机的请求。提供服务的一组服务器组成了一个应用服务器集群(cluster),并对外提供一个统一的地址。当一个服务请求被发至该集群时,根据一定规则选择一台服务器,并将服务转定向给该服务器承担,即将负载进行均衡分摊。,10.什么是负载均衡和集群,通过应用负载均衡技术,使应用服务超过了一台服务器只能为有限用户提供服务的限制,可以利用多台服务器同时为大量用户提供服务。当某台服务器出现故障 时,负载均衡服务器会自动进行检测并停止将服务请求分发至该服务器,而由其他工作正常的服务器继续提供服务,从而保证了服务的可靠性。 负载均衡实现的方式大概有四种:第一是通过DNS,但只能实现简单的轮流分配,不能处理故障,第二如果是基于MS IIS,Windows 2003 server本身就带了负载均衡服务,第三是硬件方式,通过交换机的功能或专门的负载均衡设备可以实现,第四种是软件方式,通过一台负载均衡服务器进行, 上面安装软件。使用Apache Httpd Server做负载平衡器,Tomcat集群节点使用Tomcat就可以做到以上第四种方式。这种方式比较灵活,成本相对也较低。另外一个很大的优点就是 可以根据应用的情况和服务器的情况采取一些策略。,谢谢,
展开阅读全文