




免费预览已结束,剩余50页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TOMCAT培训资料 2006 04 18 技术交流大纲 什么是TOMCAT如何选择TOMCAT的版本TOMCAT的安装 4 1 31为例 TOMCAT配置详解 4 1 31为例 TOMCAT使用技巧及优化问题及讨论 什么是TOMCAT Tomcat是一个免费的开源的Serlvet容器 它是Apache基金会的Jakarta项目中的一个核心项目 由Apache Sun和其它一些公司及个人共同开发而成 由于有了Sun的参与和支持 最新的Jsp和Servlet规范总能在Tomcat中得到体现 Tomcat不仅仅是一个Servlet容器 它也具有传统的Web服务器的功能 处理Html页面 但是与Apache相比 它的处理静态Html的能力就不如Apache 我们可以将Tomcat和Apache集成到一块 让Apache处理静态Html 而Tomcat处理Jsp和Servlet 这种集成只需要修改一下Apache和Tomcat的配置文件即可 如何选择TOMCAT的版本 版本之间的差异请大家自已查阅资料 Tomcat的安装 以4 1 31为例 Windows版本的安装 Binary UNIX版本的安装 Binary 源代码版本的安装 source Windows版本的安装步骤 Binary 根据Tomcat版本从sun网站上下载j2se jdk 安装jdk设置JAVA HOME设置classpath下载Tomcat的二进制版本 exe或 zip CATALINA HOME bin startup运行TomcatStartup程序运行结束后输入http localhost 8080 出现帮助文档时 表示Tomcat成功启动选择JSPSamples或ServletExamples表示支持了jsp及Servlet以上步聚完成 则表示 成功安装了Tomcat UNIX版本的安装步骤 Binary 根据Tomcat版本从sun网站上下载j2se jdk 安装jdk设置JAVA HOME设置classpath下载Tomcat的二进制版本 tar gz或 zip CATALINA HOME bin startup sh运行TomcatStartup程序运行结束后输入http localhost 8080 出现帮助文档时 表示Tomcat成功启动选择JSPSamples或ServletExamples表示支持了jsp及Servlet以上步聚完成 则表示 成功安装了Tomcat 源代码版本的安装步骤 Source 正确安装jdk下载二进制版本的ANT 并正确配置下载Tomcat的源代码版本编译TomcatAntBuild xml用startup windows 或startup sh unix 启动tomcatStartup程序运行结束后输入http localhost 8080 出现帮助文档时 表示Tomcat成功启动选择JSPSamples或ServletExamples表示支持了jsp及Servlet以上步聚完成 则表示 成功安装了Tomcat Tomcat配置详解 以4 1 31为例 Tomcat启动与关闭Tomcat目录结构server xml文件配置web xml文件配置tomcat users xml文件配置 Tomcat启动与关闭 Tomcat的启动 CATALINA HOME bin startup windows平台 CATALINA HOME bin startup sh unix平台 Tomcat的关闭 CATALINA HOME bin shutdown windows平台 CATALINA HOME bin shutdown sh unix平台 Tomcat目录结构 Tomcat Bin Conf Logs WebApps Work Temp 存放一些Tomcat启动与关闭的脚本包含不同的配置文件 server xml和web xml等存放日志文件存放jsp编译后产生的class文件存放Tomcat运行时 临时产生的文件存放应用程序示例 你要部署的应用程序也可放到此目录 Server xml文件配置 Server xml文件作用是Tomcat的全局配置文件 也是Tomcat主要的配置文件提供Tomcat组件的初始配置说明Tomcat的结构 含义 使得Tomcat通过实例化组件完成起动及构建自身 Server xml文件配置 1 重要参数详解serverport指定一个端口 这个端口负责监听关闭tomcat的请求shutdown指定向端口发送的命令字符串servicename指定service的名字Connector 表示客户端和service之间的连接 port指定服务器端要创建的端口号 并在这个断口监听来自客户端的请求minProcessors服务器启动时创建的处理请求的线程数 Server xml文件配置 2 重要参数详解maxProcessors最大可以创建的处理请求的线程数enableLookups如果为true 则可以通过调用request getRemoteHost 进行DNS查询来得到远程客户端的实际主机名 若为false则不进行DNS查询 而是返回其ip地址redirectPort指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号acceptCount指定当所有可以使用的处理请求的线程数都被使用时 可以放到处理队列中的请求数 超过这个数的请求将不予处理 Server xml文件配置 3 重要参数详解connectionTimeout指定超时的时间数 以毫秒为单位 Engine 表示指定service中的请求处理机 接收和处理来自Connector的请求 defaultHost指定缺省的处理请求的主机名 它至少与其中的一个host元素的name属性值是一样的Context 表示一个web应用程序 通常为WAR文件 关于WAR的具体信息见servlet规范 docBase应用程序的路径或者是WAR文件存放的路径Path表示此web应用程序的url的前缀 这样请求的urlhttp localhost 8080 path Server xml文件配置 4 重要参数详解reloadable这个属性非常重要 如果为true 则tomcat会自动检测应用程序的 WEB INF lib和 WEB INF classes目录的变化 自动装载新的应用程序 我们可以在不重起tomcat的情况下改变应用程序host 表示一个虚拟主机 name指定主机名appBase应用程序基本目录 即存放应用程序的目录unpackWARs如果为true 则tomcat会自动将WAR文件解压 否则不解压 直接从WAR文件中运行应用程序 Server xml文件配置 5 重要参数详解Logger 表示日志 调试和错误信息 className指定logger使用的类名 此类必须实现org apache catalina Logger接口prefix指定log文件的前缀suffix指定log文件的后缀timestamp如果为true 则log文件名中要加入时间 如下例 localhost log 2001 10 04 txt Server xml文件配置 6 重要参数详解Realm 表示存放用户名 密码及role的数据库 className指定Realm使用的类名 此类必须实现org apache catalina Realm接口Valve 功能与Logger差不多 其prefix和suffix属性解释和Logger中的一样 className指定Valve使用的类名 如用org apache catalina valves AccessLogValve类可以记录应用程序的访问信息directory指定log文件存放的位置Pattern有两个值 common方式记录远程主机名或ip地址 用户名 日期 第一行请求的字符串 HTTP响应代码 发送的字节数 combined方式比common方式记录的值更多 Web xml文件配置 Web xml文件作用在Tomcat中配置不同的关系环境 Web xml文件配置 1 定义头和根元素部署描述符文件就像所有XML文件一样 必须以一个XML头开始 这个头声明可以使用的XML版本并给出文件的字符编码 DOCYTPE声明必须立即出现在此头之后 这个声明告诉服务器适用的servlet规范的版本 如2 2或2 3 并指定管理此文件其余部分内容的语法的DTD DocumentTypeDefinition 文档类型定义 所有部署描述符文件的顶层 根 元素为web app 请注意 XML元素不像HTML 他们是大小写敏感的 因此 web App和WEB APP都是不合法的 web app必须用小写 Web xml文件配置 2 部署描述符文件内的元素次序XML元素不仅是大小写敏感的 而且它们还对出现在其他元素中的次序敏感 XML头必须是文件中的第一项 DOCTYPE声明必须是第二项 而web app元素必须是第三项 而且Web app元素内也有顺序 如servlet元素必须出现在所有servlet mapping元素之前 过滤器的设置必须在servlet元素后面 Web xml文件配置 3 分配名称和定制的URL在web xml中完成的一个最常见的任务是对servlet或JSP页面给出名称和定制的URL 用servlet元素分配名称 使用servlet mapping元素将定制的URL与刚分配的名称相关联 分配名称例子 Testmoreservlets TestServlet这表示位于WEB INF classes moreservlets TestServlet的servlet已经得到了注册名Test 配置完成后用 http host servlet Test访问 Web xml文件配置 4 分配名称和定制的UL定制URL例子 cgi cgi bin cgi bin可以转成cgi的url访问时 原来http host cgi bin 现在可以http host cgi Web xml文件配置 5 分配名称和定制的UL命名JSP页面例子 因为JSP页面要转换成sevlet 自然希望就像命名servlet一样命名JSP页面 毕竟 JSP页面可能会从初始化参数 安全设置或定制的URL中受益 正如普通的serlvet那样 虽然JSP页面的后台实际上是servlet这句话是正确的 但存在一个关键的猜疑 即 你不知道JSP页面的实际类名 因为系统自己挑选这个名字 因此 为了命名JSP页面 可将jsp file元素替换为servlet calss元素 如下所示 Test TestPage jsp原来访问 http host TestPag jsp现在就可以访问 http host Test Web xml文件配置 6 关闭Servlet 禁止激活器servlet 含义 原来可以用http host servlet Test访问 要关闭 servlet方法 1 在每个Web应用中重新映射 servlet 模式2 全局关闭激活器servlet例子 针对方法1Sorry servlet 针对方法2注释掉invoker或改成别的 Web xml文件配置 7 声明过滤器servlet版本2 3引入了过滤器的概念 虽然所有支持servletAPI版本2 3的服务器都支持过滤器 但为了使用与过滤器有关的元素 必须在web xml中使用版本2 3的DTD原理 Web xml文件配置 8 声明过滤器例子 IEFiltercom ibm devworks filters IEFilterIEFilter Web xml文件配置 8 指定欢迎页例子 index htmlindex htmindex jsp按顺序先找index html 后找index htm 再找index jsp Web xml文件配置 9 指定处理错误的页面例子 FORM login jsp login error jsp Web xml文件配置 10 限制对Web资源的访问例子 Proprietary propritary 用户的定义在tomcat users xml文件中配置 Web xml文件配置 11 控制会话超时例子 180180为180分钟 Web xml文件配置 12 关联文件与MIME类型例子 zapplication x compresszipapplication zip让Tomcat支持的文件类型 tomcat users xml文件配置 Tomcat users xml文件作用是Tomcat的全局配置文件 提供用户 角色 组管理在用windows的exe文件安装时 可以创建用户用zip文件安装时 在先在应该中加入admin及manager组用图形化配置时 Tomcat users xml会立即更新 tomcat users xml文件配置 1 Tomcat users xml内容 Tomcat使用技巧及优化 使用技巧配置系统管理在tomcat users xml文件中增加 admin manager组及一个用户 重起tomcat 即可以进行tomcat系统管理 WEB界面 Admin组用于TomcatAdministration的管理Manager组用于TomcatManager的管理 Tomcat使用技巧及优化 1 使用技巧部署一个web应用拷贝你的WAR文件或者你的web应用文件夹 包括该web的所有内容 到 CATALINA BASE webapps目录下 可以在任何目录下 例子 把该片断命名为 MyWebApp xml 然后拷贝到CATALINA BASE webapp下这样你不需要编辑server xml 除非你想改变缺省的部署特性 安装一个新的web应用时不需要重启动Tomcat Tomcat使用技巧及优化 2 使用技巧配置基础验证 BasicAuthentication 例子 EntireApplication members memberBASICMyClubMembers onlyAreaBasicAuthentication采用的是Base64加密方式 Tomcat使用技巧及优化 3 使用技巧配置虚拟主机 VirtualHosts 例子 Tomcat使用技巧及优化 4 使用技巧配置单点登录 SingleSign On 使用singlesign onvalve有一些重要的限制 1 value必须被配置和嵌套在相同的Host元素里 并且所有需要进行单点验证的web应用 必须通过context元素定义 都位于该Host下 2 包括共享用户信息的realm必须被设置在同一级Host中或者嵌套之外 3 不能被context中的realm覆盖 4 使用单点登录的web应用最好使用一个Tomcat的内置的验证方式 被定义在web xml中的中 这比自定义的验证方式强 Tomcat内置的的验证方式包括basic digest form和client cert 5 如果你使用单点登录 还希望集成一个第三方的web应用到你的网站中来 并且这个新的web应用使用它自己的验证方式 而不使用容器管理安全 那你基本上就没招了 你的用户每次登录原来所有应用时需要登录一次 并且在请求新的第三方应用时还得再登录一次 当然 如果你拥有这个第三方web应用的源码 而你又是一个程序员 你可以修改它 但那恐怕也不容易做 6 单点登录需要使用cookies Tomcat使用技巧及优化 5 使用技巧在Tomcat中使用CGI脚本为了使Tomcat能够运行CGI 你必须做如下几件事 1 把servlets cgi renametojar 在CATALINA HOME server lib 目录下 改名为servlets cgi jar 处理CGI的servlet应该位于Tomcat的CLASSPATH下 2 在Tomcat的CATALINA BASE conf web xml文件中 把关于CGI的那段的注释去掉 默认情况下 该段位于第241行 3 同样 在Tomcat的CATALINA BASE conf web xml文件中 把关于对CGI进行映射的那段的注释去掉 默认情况下 该段位于第299行 注意 这段内容指定了HTML链接到CGI脚本的访问方式 4 你可以把CGI脚本放置在WEB INF cgi目录下 注意 WEB INF是一个安全的地方 你可以把一些不想被用户看见或基于安全考虑不想暴露的文件放在此处 或者你也可以把CGI脚本放置在context下的其他目录下 并为CGIServlet调整cgiPathPrefix初始化参数 这就指定的CGIServlet的实际位置 且不能与上一步指定的URL重名 5 重新启动Tomcat 你的CGI就可以运行了 Tomcat使用技巧及优化 6 使用技巧限制特定主机访问tomcat的限制主要通过RemoteHostValve和RemoteAddrValve来配置的例子 一些安全设置使用声明过滤 如ppt修改conf catalina policy文件 Tomcat使用技巧及优化 7 使用技巧Tomcat与Apache集成为什么要集成 Tomcat不仅仅是一个Servlet容器 它也具有传统的Web服务器的功能 处理Html页面 但是与Apache相比 它的处理静态Html的能力就不如Apache 我们可以将Tomcat和Apache集成到一块 让Apache处理静态Html 而Tomcat处理Jsp和Servlet 这种集成只需要修改一下Apache和Tomcat的配置文件即可 Tomcat使用技巧及优化 8 使用技巧Tomcat与Apache集成步骤软件版本 tomcat 5 0apache2 0 49软件 jakarta tomcat 5 0 19 tar gz jakarta tomcat connectors jk2 src current tar gzj2sdk 1 4 2 04 linux i586 bin安装步骤 Apache安装 configure prefix usr local apache enable somakemakeinstall j2sdk 1 4 2 03 linux i586 bin mvj2sdk 1 4 2 03jdk1 4 tarzxvfjakarta tomcat 5 0 19 tar gz tarxvfzjakarta tomcat connectors jk2 src current tar gz tomcatforapacheplugins Tomcat使用技巧及优化 9 使用技巧Tomcat与Apache集成步骤 cdjakarta tomcat connectors jk2 jk native buildconf sh configure with apxs2 usr local apache bin apxs 目录根据具体情况 usr sbin arps make或makejk2 install apxs 目的是产生mod jk2 so 确定把mod jk2 so复到 usr local apache modules下 vi etc httpd conf httpd conf LoadModulejk2 modulemodules mod jk2 so vi TOMCAT HOME conf jk2 properties增加 handler list channelSocket requestchannelSocket port 8009 Tomcat使用技巧及优化 10 使用技巧Tomcat与Apache集成步骤 user local apche conf目录下增加workers2 properties文件 内容如下 logger apache2 level DEBUG Sharedmemoryhandling Needstobeset shm file usr local apache logs shm filesize 1048576 Tomcat使用技巧及优化 10 使用技巧Tomcat与Apache集成步骤 Examplesocketchannel explicitlysetportandhost channel socket localhost 8009 tomcatId localhost 8009port 8009host 127 0 0 1 definetheworker ajp13 localhost 8009 channel channel socket localhost 8009 status status Urimapping uri jsp 支持jsp worker ajp13 localhost 8009 uri bjq 支持struts Tomcat使用技巧及优化 11 Tomcat优化优化原则资源使用最小化原则 就是把没有用或无关的配置全部去了 保证tomcat使用最小的资源 Tomcat使用技巧及优化 12 Tomcat优化JVM的优化Tomcat默认可以使用的内存为128MB 在较大型的应用项目中 这点内存是不够的 需要调大 Windows下 在文件 tomcat home bin catalina bat Unix下 在文件 tomcat home bin catalina sh的前面 增加如下设置 JAVA OPTS Xms 初始化内存大小 Xmx 可以使用的最大内存 需要把这个两个参数值调大 例如 JAVA OPTS Xms256m Xmx512m 表示初始化内存为256MB 可以使用的最大内存为512MB 另外需要考虑的是Java提供的垃圾回收机制 虚拟机的堆大小决定了虚拟机花费在收集垃圾上的时间和频度 收集垃圾可以接受的速度与应用有关 应该通过分析实际的垃圾收集的时间和频率来调整 如果堆的大小很大 那么完全垃圾收集就会很慢 但是频度会降低 如果你把堆的大小和内存的需要一致 完全收集就很快 但是会更加频繁 调整堆大小的的目的是最小化垃圾收集的时间 以在特定的时间内最大化处理客户的请求 在基准测试的时候 为保证最好的性能 要把堆的大小设大 保证垃圾收集不在整个基准测试的过程中出现 Tomcat使用技巧及优化 13 Tomcat优化外部环境 操作系统的优化主要优化操作系统的内存使用 磁盘的IO速度 TCP IP的属性Tomcat与其它web服务器整合使用虽然tomcat也可以作web服务器 但其处理静态html的速度比不上apache 且其作为web服务器的功能远不如apache 因此我们想把apache和tomcat集成起来 将html与jsp的功能部分进行明确分工 让tomcat只处理jsp部分 其它的由apache IIS等这些web服务器处理 由此大大节省了tomcat有限的工作 线程 Tomcat使用技巧及优化 14 Tomcat优化Tomcat自身调整调整线程数另外一个可通过应用程序的连接器 Connector 进行性能控制的的参数是创建的处理请求的线程数 Tomcat使用线程池加速响应速度来处理请求 在Java中线程是程序运行时的路径 是在一个程序中与其它控制线程无关的 能够独立运行的代码段 它们共享相同的地址空间 多线程帮助程序员写出CPU最大利用率的高效程序 使空闲时间保持最低 从而接受更多的请求 Tomcat4中可以通过修改minProcessors和m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃房制作安装合同范本
- 生产线工程承包合同范本
- 电动水泥车租赁合同范本
- 鱼供货商合同协议书范本
- 电器合股协议合同书模板
- 防水涂料代加工协议合同
- 湛江台式电脑租赁协议书
- 生鲜蔬果转让合同协议书
- 门店运营股权分配协议书
- 工业互联网平台数据加密算法效能优化与安全防护
- 2024年城市建设和环境提升重点工程项目计划表
- 租地合同书样本电子版
- GB/T 7247.2-2024激光产品的安全第2部分:光纤通信系统(OFCS)的安全
- 数独题目高级50题(后附答案)
- 渤海大学学生管理详细规定
- GB/T 44099-2024学生基本运动能力测评规范
- 流媒体服务的兴起与电影产业的转型
- TD/T 1058-2020 第三次全国国土调查县级数据库建设技术规范(正式版)
- 幼儿园美术案例分析与措施
- 高斯小学奥数二年级(上)第05讲 图形规律进阶
- MOOC 化工过程与控制仿真实习-北京化工大学 中国大学慕课答案
评论
0/150
提交评论