版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1. tomcattomcat 的部署方式的部署方式以下部署方式都是针对 tomcat5.0 以上版本。1.1Contextdescriptors1.1ContextdescriptorsTomcat4 中的 Manager 和 Admin 管理工具其实就是利用它来部署的。在 Tomcat5 中提出了Contextdescriptor 这个概念,且为其配置了一个专有目录,而不像 Tomcat4 那样大杂烩一般地放置在$appBase 目录下。Contextdescriptor 是一个只包含 Context 元素的 xml 格式的部署文件,其中 Context 元素与 server.xml
2、中的 Context 元素配置相同。对于一个给定的主机,Contextdescriptor 放置在$CATALINA_HOME/conf/enginename/hostname/目录下面。Tomcat5默认安装时,在$CATALINA_HOME/conf/Catalina/localhost 目录中有 admin.xml 和 manager.xml,是两个管理工具的部署描述符文件。 而这两个文件在 Tomcat4 中是放置在$CATALINA_HOME/webapps目录下面的。使用方法:(1)在$CATALINA_HOME/conf/enginename/hostname/目录下新建 xxx
3、.xml 文档(2)在 xxx.xml 文档中配置如下注:docBase 也可以设置为eclipse 的 workplace/project/webroot1.21.2 静态部署静态部署静态部署是指在 Tomcat 运行之前就把相关的 Web 应用程序放置到合适的目录,在 Tomcat 启动的时候自动来部署这些应用程序。如果deployOnStartup属性值为 true,那么在 Tomcat 启动时,在$appBase 目录下的 web 应用程序将被自动部署。部署的过程如下:(1) Context 元素声明的 Web 应用程序将被首先部署, 这包括 server.xml 和 contextd
4、escriptor文件中的 Context 元素所指的应用程序;(2)部署扩展目录形式的 Web 应用程序;(3)部署 WAR 形式的 Web 应用程序;Tomcat5 对于静态方式的部署的增强主要就是:1、对于 contextdescriptor 方式的应用程序的部署。2、如果扩展目录方式的应用程序对应有一个 WAR 文件,且 WAR 是更新过的,扩展目录将被自动删除,Web 应用程序将被从 WAR 文件中重新部署。而在 Tomcat4 中,即使 WAR 文件已更新也无法被重新部署,仍然会使用旧的扩展目录方式的 Web 应用程序,除非你自己手动删除目录,而且还要重启 Tomcat。1.31.
5、3 动态部署动态部署动态部署是指在 Tomcat 已经运行以后在不重启服务器的情况下部署应用程序的方式。如果虚拟主机的autoDeploy属性值为 true,则主机会在需要的时候试图去部署和更新应用程序。这是由虚拟主机在后台运行的一个负责自动加载的处理线程来完成的,它的工作流程如下:1、部署新放入$appBase 目录的 War 方式的应用程序。2、部署新放入$appBase 目录的扩展目录方式的应用程序。3、如果一个扩展目录方式的应用程序对应的 War 文件更新了,则删除此目录,从 War 文件中重新解开并部署。如果”unpackWARs”属性值为 false,则不解开,从 War 文件中直
6、接运行。(记住:不用自己删除扩展目录,也不用重启服务器)4、如果应用程序的/WEB-INF/web.xml 文件被改变,则重新部署这个应用。5、如果应用程序对应的 Context 元素配置发生了改变,则重新部署这个应用。这包括 server.xml或者上下文描述符文件中的 Context 元素。6、如果$CATALINA_HOME/conf/enginename/hostname/目录下增加了上下文描述符文件,则重新部署这个应用。看来 Tomcat5 在动态部署上花费了不少功夫,其中的亮点主要就是如果我们修改了 web.xml、server.xml 配置文件,增加了上下文描述符文件,动态更新了
7、 War 文件时都可以实现应用程序的自动部署和更新,而不用重新启动 Tomcat 服务器,在 Tomcat4 中都是必须重新启动服务器的,这是一个非常喜人的变化。2.tomcat2.tomcat 的配置方式的配置方式以下配置方式都是针对 tomcat5.0 以上版本。2.1server.xml2.1server.xml 元素详解元素详解元素名属性解释serverport指定一个端口,这个端口负责监听关闭tomcat 的请求shutdown指定向端口发送的命令字符串servicename指定 service 的名字Connector(表示客户端和service 之间的连接)port指定服务器端要
8、创建的端口号,并在这个断口监听来自客户端的请求minProcessors服务器启动时创建的处理请求的线程数,最小空闲连接线程数,用于提髙系统处理性能,默认值为 10maxProcessors最大可以创建的处理请求的线程数,最接线程数,即:并发处理的最大请求数,默认值为 75enableLookups如果为 true,则可以通过调用request.getRemoteHost()进行 DNS 查询来得到远程客户端的实际主机名,若为 false 则不进行DNS 查询,而是返回其 ip 地址redirectPort表示当请求被传输或完整性保护的容时,非 SSL请求将会被重定向的端口.acceptCou
9、nt指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理,应大于等于maxProcessors,默认值为 100connectionTimeout网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000毫秒。表示该组件产生调试日志信息的详细级别,数字越大,产生的日志信息越详细.如果不指定,该属性值将被设置为(0).但是调试信息是否出现在日志中,还进一步取决于 log4j 类别org.jboss.web.tomcat.tc5.Tomcat5 的threshold设置请求编码格式DebugURIEncoding
10、Engine (表示指定 service 中的请求处理机,接收和处理来自Connector的请求)defaultHost指定缺省的处理请求的主机名, 它至少与其中的一个 host 元素的 name 属性值是一样的Context(表示一个 web 应用程序,通常为 WAR 文件,关于 WAR 的具体信息见 servlet规)docBase应用程序的路径或者是WAR文件存放的路径path表示此 web 应用程序的 url 的前缀, 这样请求的 url 为 localhost:8080/path/*reloadable这个属性非常重要,如果为 true,则 tomcat会自动检测应用程序的/WEB-
11、INF/lib 和/WEBTNF/classes 目录的变化,自动装载新的应用程序, 我们可以在不重起 tomcat 的情况下改变应用程序host (表示一个虚拟主机)name指定主机名appBase应用程序基本目录, 即存放应用程序的目录unpackWARs如果为 true,则 tomcat 会自动将 WAR 文件解压,否则不解压,直接从 WAR 文件中运行应用程序Logger (表示日志,调试和错误信息)className指定 logger 使用的类名,此类必须实现org.apache.catalina.Logger 接口prefix指定 log 文件的前缀suffix指定 log 文件的
12、后缀timestamp如果为 true,则 log 文件名中要加入时间,如下例:localhostlog.2001-10-04.txtRealm(表示存放用户名,密码及 role 的数据库)className指定 Realm 使用的类名,此类必须实现org.apache.catalina.Realm 接口Valve(功能与Logger 差不多,其className指定 Valve 使用的类名,如用org.apache.catalina.valves.AccessLogValveprefix 和 suffix属性解释和Logger 中的一样)类可以记录应用程序的访问信息directory指定 l
13、og 文件存放的位置pattern有两个值,common 方式记录远程主机名或ip 地址, 用户名, 日期, 第一行请求的字符串,HTTP响应代码, 发送的字节数。 combined方式比common方式记录的值更多Server元素元素它代表整个容器, 是 Tomcat 实例的顶层元素.由 org.apache.catalina.Server 接口来定义.它包含一个Service元素.并且它不能做为任何元素的子元素.className 指定实现 org.apache.catalina.Server 接口的类.默认值为org.apache.catalina.core.StandardServer
14、2port 指定 Tomcat 监听 shutdown 命令端口.终止服务器运行时, 必须在 Tomcat 服务器所在的机器上发出 shutdown 命令.该属性是必须的.3shutdown 指定终止 Tomcat 服务器运行时,发给 Tomcat 服务器的 shutdown 监听端口的字符串该属性必须设置该元素由 org.apache.catalina.Service 接口定义,它包含一个Engine元素,以及一个或多个Connector,这些 Connector 元素共享用同一个 Engine 元素处理所有直接由 Tomcat 服务器接收的 web 客户请求.第二个Service处理所有由
15、 Apahce 服务器转发过来的 Web 客户请求1className 指定实现 org.apahce.catalina.Service 接口的类.默认为org.apahce.catalina.core.StandardService2name 定义 Service 的名字Engine 元素元素每个 Service 元素只能有一个 Engine 元素.元素处理在同一个Service中所有元素接收到的客户请求.由 org.apahce.catalina.Engine 接口定义.1className 指定实现 Engine 接口的类,默认值为 StandardEngine2defaultHost
16、指定处理客户的默认主机名,在Engine中的Host子元素中必须定义这一主机3name 定义 Engine 的名字在Engine可以包含如下元素Logger,Realm,Value,HostHostHost元素元素它由 Host 接口定义.一个 Engine 元素可以包含多个Host元素.每个Host的元素定义了一个虚拟主机.它包含了一个或多个 Web 应用.appBase 指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于CATALINA_HOME的相对目录.如果没有此项,默认为CATALINA_HOME/webapps3autoDeploy 如果此项设为 true,表示 Tomcat
17、服务处于运行状态时,能够监测 appBase下的文件,如果有新有 web 应用加入进来,会自运发布这个 WEB 应用4unpackWARs 如果此项设置为 true,表示把 WEB 应用的 WAR 文件先展开为开放目录结构后再运行.如果设为 false 将直接运行为 WAR 文件5alias 指定主机别名,可以指定多个别名6deployOnStartup 如果此项设为 true,表示 Tomcat 服务器启动时会自动发布 appBase 目录下所有的 Web 应用.如果 Web 应用中的 server.xml 没有相应的Context元素,将采用 Tomcat 默认的 Context7name
18、 定义虚拟主机的名字在Host元素中可以包含如下子元素Logger,,ContextContextContext元素元素它由 Context 接口定义.是使用最频繁的元素.每个Context 元素代表了运行在虚拟主机上的单个 Web 应用.一个Host可以包含多个Context元素.每个 web 应用有唯一的一个相对应的 Context 代表 web 应用自身.servlet 容器为第一个 web 应用创建一个 ServletContext 对象.className 指定实现 Context 的类,默认为 StandardContext 类2path 指定访问 Web 应用的 URL 入口,注
19、意/myweb,而不是 myweb 了事3reloadable 如果这个属性设为 true,Tomcat 服务器在运行状态下会监视在WEB-INF/classes和WebTNF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载 Web 应用4cookies 指定是否通过 Cookies 来支持 Session,默认值为 true5useNaming 指定是否支持 JNDI,默认值为了 true在Context元素中可以包含如下元素Logger),Resource),ResourceParamsConnectorConnector元素元素由 Connector
20、接口定义.Connector元素代表与客户程序实际交互的给件,它负责接收客户请求,以及向客户返回响应结果.第一个 Connector 元素定义了一个 HTTPConnector,它通过 8080 端口接收 HTTP 请求; 第二个Connector 元素定义了一个 JDConnector,它通过 8009 端口接收由其它服务器转发过来的请求.Connector 元素共用属性:1className 指定实现 Connector 接口的类2enableLookups 如果设为 true,表示支持域名解析,可以把 IP 地址解析为主机名.WEB 应用中调用 request.getRemoteHost
21、 方法返回客户机主机名.默认值为 true3redirectPort 指定转发端口.如果当前端口只支持 non-SSL 请求, 在需要安全通信的场命,将把客户请求转发至 SSL 的 redirectPort 端口HttpConnectorHttpConnector元素的属性元素的属性1className 实现 Connector 的类2port 设定 Tcp/IP 端口,默认值为 8080,如果把 8080 改成 80,则只要输入 localhost 即可,因为 TCP/IP 的默认端口是 803address 如果服务器有二个以上 ip 地址,此属性可以设定端口监听的 ip 地址.默认情况下
22、,端口会监听服务器上所有的 ip 地址4bufferSize 设定由端口创建的输入流的缓存大小.默认值为 2048byte5protocol 设定 Http 协议,默认值为 HTTP/1.16 maxThreads 设定在监听端口的线程的最大数目,这个值也决定了服务器可以同时响应客户请求的最大数目.默认值为 2007acceptCount 设定在监听端口队列的最大客户请求数量,默认值为 10.如果队列已满,客户必须等待.8connectionTimeout 定义建立客户连接超时的时间.如果为-1, 表示不限制建立客户连接的时间JkConnectorJkConnector的属性的属性1class
23、Name 实现 Connector 的类2port 设定 AJP 端口号3protocol 必须设定为 AJP/ 如何加大如何加大 tomcattomcat 连接数连接数在 tomcat 配置文件 server.xml 中的Connector./配置中和最接数相关的参数为maxProcessors 和 acceptCount。如果要加大并发连接数,应同时加大这两个参数。webserver 允许的最接数还受制于操作系统的核参数设置,通常 Windows 是 2000 个左右,Linux 是1000 个左右。tomcat4 中的配置示例:ConnectorclassName=or
24、g.apache.coyote.tomcat4.CoyoteConnectorport=8080minProcessors=10maxProcessors=1024enableLookups=falseredirectPort=8443acceptCount=1024debug=0connectionTimeout=30000/对于其他端口的侦听配置,以此类推。2.3tomcat2.3tomcat 中如何禁止列目录下的文件中如何禁止列目录下的文件在tomcat_home/conf/web.xml 中,把 listings 参数设置成 false 即可,如下:servletinit-paramp
25、aram-namelistings/param-nameparam-valuefalse/param-value/init-param/servlet2.42.4 解决解决 tomcattomcat 存不足异常的问题存不足异常的问题1) 在通过 startup.bat 启动修改 Catalina.bat 文件:在“remExecuteJavawiththeapplicableproperties”语句后添加“setCATALINA_OPTS 二-Xms128m-Xmx768m”语句,重起 tomcat 服务,设置生效。2) 利用 windows 的系统服务启动 tomcat 服务,即通过执行
26、tomcat.exe,它读取注册表中的值,而不是 catalina.bat 的设置.可通过如下两种方式来解决:修改注册表HKEY_LOCAL_MACHINESOFTWAREApacheSoftwareFoundationTomcatServiceManagerTomcat5ParametersJavaOptions原值为-Dcatalina.home=C:ApacheGroupTomcat5.0-Djava.endorsed.dirs=C:ApacheGroupTomcat5.0commonendorsed-Xrs加入-Xms300m-Xmx350m 重起 tomcat 服务,设置生效进入 t
27、omcat 客户端设置 Initialmemorypool 与 Maxinummemorypool 两项,重起 tomcat 服务,设置生效。3) windows 更改系统环境变量加上 JAVA_0PTS=-Xms64m-Xmx512mLinux 在tomcat_home/bin/catalina.sh 的前面,力口setJAVA_OPTS=-Xms64-Xmx5122.52.5 如何添加默认访问页面如何添加默认访问页面修改文件 web.xml,在 welcome-list 里面添加 index.wml 作为默认的访问页面index.htmlindex.htmindex.jsp2.6host2
28、.6host 配置实例配置实例!一下面套用的是 tomeat 自带的管理页面,在虚拟主机下也可使用-Contextpath=/managerdebug=0privileged=truedoeBase=/opt/tomeat/server/webapps/manager/Contextpath=/jivedoeBase=jivedebug=0reloadable=trueerossContext=true/LoggerelassName=org.apaehe.eatalina.logger.FileLoggerprefix=host1_log.suffix=.txttimestamp=true/Host2.72.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024专业资产评估人员劳务协议
- 2024年水电工程建筑协议范本
- 2024年专业设备买卖代理协议
- 2024商业反担保协议格式
- 2024年度桩基破桩头工程承包协议
- 2024二人协作协议格式样本指导手册
- 2024年项目经理职务协议样本
- 2024年期铁棚建设协议范本
- 2024年定制SaaS软件销售协议
- 2024矿产品交易协议条款集要
- 《阿凡达》电影赏析
- DB42-T 2286-2024 地铁冷却塔卫生管理规范
- 合作伙伴合同协议书范文5份
- 小学生主题班会《追梦奥运+做大家少年》(课件)
- 公安机关人民警察高级执法资格考题及解析
- 浙教版信息科技四年级上册全册教学设计
- 2024年全国职业院校技能大赛中职(中式烹饪赛项)考试题库-下(多选、判断题)
- 教师节感恩老师主题班会一朝沐杏雨一生念师恩因为有你未来更加光明课件
- 红托竹荪工厂化栽培技术规程
- 【基于Android的电商购物系统设计与实现3900字(论文)】
- YBT 189-2014 连铸保护渣水分含量(110℃)测定试验方法
评论
0/150
提交评论