




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-,1,目录-tomcat配置管理,1,WEBSERVER介绍2,TOMCAT目录结构3,TOMCAT端口管理4,TOMCAT账号管理5,TOMCAT配置数据库6,TOMCAT监控软件安装7,TOMCAT环境变量8,TOMCAT和JVM的配置9,TOMCAT基于名称的虚拟主机10,TOMCATIP访问控制11,TOMCAT访问日志记录12,TOMCAT状态验证13,TOMCAT设置SSL访问14,TOMCAT安全策略15,TOMCAT的URL编码格式16,TOMCAT传输压缩17,TOMCAT集群和负载均衡18,ECD部门AP(TOMCAT)部署规范,-,2,WEBSERVER介绍,Web服务器Jetty(目前google/Yahoo使用)体积小,灵活,适合作为嵌入式应用Tomcat集群和监控支持较好,功能完整,实现规范,是SUN支持的项目Jwebtomcat+apache=jweb参考资料较少,普及率较低J2EE服务器JBossASGlassFishWeblogicWebSphereTomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现Jakarta项目是在Apache软件基金会营运的公开源代码软件开发项目之一。开发着面向编程语言Java的程序库,框架等。Jakarta项目是在Apache软件基金会营运的公开源代码软件开发项目之一。开发JAVA的程序库,框架。本文致力于tomcat的最佳实践,介绍了tomcat的各种功能和使用技巧。,-,3,TOMCAT目录结构,目录结构七层,-,4,TOMCAT目录结构,CATALINA_HOME指的是tomcat的安装目录,如C:Tomcat6.0bin目录:控制tomcat的启动与关闭,以及与启动关闭有关的安全管理conf目录:配置文件lib目录:Tomcat容器使用的所有jar包和多个web应用程序共享的jar包log目录:Tomcat生成的日志文件。日志文件是按天为单位生成temp目录:Tomcat用来存放临时文件webapps目录:Tomcat默认的web应用程序存放位置work目录:Tomcat将jsp文件转换为javaservlet的地方,-,5,TOMCAT目录结构,Server.xml图形化一个server(服务器)可有多个service(服务)一个sercice可有多个connector(连接器)和一个engine(引擎),-,6,TOMCAT目录结构,常用的配置文件简单介绍server.xml:Tomcat中最重要的配置文件,定义了tomcat的体系结构设置端口,集群,web应用,访问日志等主要功能。tocmat-users.xml:Tocmat管理员身份的配置文件关键是设置管理员账号的密码context.xml:全局context的配置文件。将数据库JNDI在这里定义好perties:Tocmat日志配置文件可以修改默认的Tocmat日志路径和名称,-,7,TOMCAT端口管理,说明:当一个server需要部署2个或2个以上TOMCAT时,请按照本规则进行部署目的:统一端口使用规则,避免端口冲突,合理规划端口资源,方便故障诊断注意:1,正式环境中,虽然ajp和http仅会用到其中之一端口,但不要取消ajp或者http端口2,出现端口争用问题后,可以使用probe查看TOMCAT占用端口信息3,有些操作系统,当端口出现争用情况后,OS可能会另外为TOMCAT分配一个端口4,不要分配8000以下端口给TOMCAT,即使OS仅保护1024以下端口5,正式环境部署,请参照端口TOMCAT端口管理表部署6,443类端口可在http端口前统一加3即可。例如,8080端口对应的443实际端口就是38080,-,8,TOMCAT端口管理表,-,9,TOMCAT账号管理,设置:1,修改TOMCAT_HOME/conf/tomcat-users.xml2,仅设置两个role:admin,manager。3,创建一个管理账号,并加入admin,manager的role4,tomcat的管理,发布,监控全部使用该管理账号修改好的tomcat-users.xml文件示例,-,10,TOMCAT配置数据库,设置:1,修改TOMCAT_HOME/conf/context.xml2,将数据库的JDBC驱动放入TOMCAT_HOME/lib下3,重启TOMCAT,进行验证即可4,使用方法:Resourcename=“jdbc/MioDS”中明确指出名称是“jdbc/MioDS”5,代码中DataSourceds=(DataSource)ctx.lookup(java:comp/env/jdbc/MioDS);优点:1,管理:不需要修改代码即可以适应开发,测试,正式环境,因为名称都是“jdbc/MioDS”2,监控:TOMCAT监控程序可以实时显示数据源状态3,安全:项目开发和测试人员不必知道数据库账号这类敏感信息4,性能:使用连接池可以提升系统效能注意:文章中使用的“jdbc/MioDS”仅仅是示例作用,可以根据项目具体命名,-,11,TOMCAT配置数据库,context.xml文件示例WEB-INF/web.xml具体参数含义参考:/tomcat-6.0-doc/jndi-datasource-examples-howto.html,-,12,TOMCAT监控软件安装,监控软件:LambdaProbe软件介绍:LambdaProbe(TomcatProbe)是一个基于Web以实时的方式来管理单个Tomcat主机的工具。它除了具备标准TomcatManager大部份功能之外还提供一些能够帮助Web开发者和系统管理员更加清楚地了解Tomcat运行情况的功能。登陆账号:tomcat-users.xml文件中设置的user账号具有admin,manager的role安装方法:1,以命令行方式启动的tomcat在catalina.bat/catalina.sh中在JAVA_OPTS项中添加-Dcom.sun.management.jmxremote2,以服务方式启动的tomcat在JAVAOPTIONS中添加一行-Dcom.sun.management.jmxremote3,将probe.war安装包放在tomcat_home/webapps下即可管理界面:http:/localhost:8080/probe,-,13,TOMCAT环境变量,正确方法:在需要运行的tomcat的catalina.sh/catalina.bat中设置java_home变量即设置了三个变量java_home,catalina_home,catalina_base设置catalina_home,catalina_base危害:导致被设置的服务器仅能在指定CATALINA_HOME目录中运行唯一的TOMCAT注意:1,不要在正式系统中部署安装版的TOMCAT2,不要在任何系统path中写入TOMCAT环境变量,包括CATALINA_HOME,CATALINA_BASE,JAVA_HOME,-,14,TOMCAT和JVM的配置,1,系统选型最重要:重要项目AP尽可能使用64位系统64位系统JVM内存最高可以设置为3800MB左右32位系统JVM内存最高可以设置为1500MB左右单一TOMCAT64位系统可以使用内存3800MB,32位仅能使用1500MB2,根据系统物理内存大小合理设置下列五个参数catalina.sh/catalina.bat-server-Xms300m-Xmx300m-XX:PermSize=100m-XX:MaxPermSize=100m-Xms=-Xmx-XX:PermSize=-XX:MaxPermSize正式服务器必须设置以上参数,以尽可能压榨服务器性能以上参数经过长久验证,可以稳定运行在各种操作系统平台和JDK版本上相关参数具体取值自己考虑,不要超过(物理内存-其他程序内存)的80%即可。3,没有特殊理由,不要设置除上述五个参数之外的JVM参数原因:1,无法保证各种操作系统平台的可移植性2,过度干涉JVM内存管理会导致无法预料的后果,-,15,TOMCAT和JVM的配置,非服务方式启动的TOMCAT配置方法修改tomcat_home/bin/catalina.sh添加以下内容:JAVA_HOME=/export/home/jdk1.6.0_16JAVA_OPTS=-server-Xms3000m-Xmx3000m-XX:PermSize=400m-XX:MaxPermSize=400m-Dcom.sun.management.jmxremote“修改tomcat_home/bin/catalina.bat添加以下内容:setJAVA_HOME=C:ProgramFilesJavajdk1.6.0_16setJAVA_OPTS=-server-Xms300m-Xmx300m-XX:PermSize=100m-XX:MaxPermSize=100m-Dcom.sun.management.jmxremote两者区别:linux/unix系统使用.sh文件,不需要set,但有”“Windows系统使用.bat文件,需要set,但不能有”“64位系统JVM内存最高可以设置为3800MB左右32位系统JVM内存最高可以设置为1500MB左右,-,16,TOMCAT和JVM的配置,服务方式启动的TOMCAT配置方法针对WINDOWS系统在JAVA选项中,设置JAVAOPTIONS,添加以下三个参数,每行一个,不能并列-XX:PermSize=256m-XX:MaxPermSize=256m-Dcom.sun.management.jmxremoteInitialmemorypool1000Maximummenorypool1000不要设置threadstacksize该值依据操作系统会有很大不同,-,17,TOMCAT基于名称的虚拟主机,使用场景:一个IP地址对应多个项目并且使用相同的端口号例如80端口使用条件:有几个项目就要有几个域名并且域名与项目一一对应使用范围:国内IDC提供的虚拟主机都是基于名称的虚拟主机技术共享IP地址缺点:在使用虚拟主机的时候,仅能使用域名对项目访问不能使用IP访问优点:可以节省公网IP地址资源,节约成本。因为1个公网IP地址成本远远高于5个域名的成本,-,18,TOMCAT基于名称的虚拟主机,设置方法:1,通过修改server.xml文件设置tomcat_home/conf/server.xml的Engine下每个host可以设置一个域名,并且可以绑定一些域名的别名appBase指定的是项目的路径,可以使用绝对路径,也可以使用相对路径,也可以随意命名可以设置非常多数量的域名用来指定到对应的项目上去,来解决公网IP紧缺问题2,通过http:/localhost:8080/host-manger/html访问tomcat控制台,通过页面进行设置,-,19,TOMCAT访问控制,使用情形:项目仅对部分用户开放,虽然有账号登陆功能,但是结合IP地址会更加安全要求:1,项目本身仅对部分用户开放,而不是部分功能对用户开放2,针对用户群最好有固定的IP地址段则会使策略更加有效设置:在tomcat_home/conf/server.xml中的Host中添加下面内容该内容的意思是禁止10.83.25.*,10.83.32.*两个网段的用户访问该项目仅让10.83.2.*网段的用户访问该项目具体使用过程中,可以单独使用denyallow功能,不必两者都使用,-,20,TOMCAT访问日志记录,使用情形:详细记录用户访问记录对很多问题都有帮助益处:1,提供项目日常访问量,用户数,来源等信息2,分析问题时候快速定位问题用户设置:在tomcat_home/conf/server.xml中的Host中添加下面内容Pattern是设置日志格式的,可以使用pattern=“combined”记录详细日志信息resolveHosts是关于是否将IP转化为主机名一般不需要,会影响系统性能,-,21,TOMCAT访问日志记录,通过F5转发请求后的日志处理:1,需要在F5设备上在header中insertx-forwarded-for2,需要在tomcat上修改日志记录格式才可以记录客户端真实IP地址3,代码中获取客户端真实IP地址:可以获取客户端真实IP地址无法获取客户端真实IP地址,仅能获取代理服务器地址无法获取客户端真实IP地址,仅能获取代理服务器地址,-,22,TOMCAT访问日志记录,访问日志的分析和挖掘还需要结合googleanalytics来进行。类似googleanalytics的有piwik,yahoo如果日志文件超过文本编辑器的打开尺寸,可以使用analog,weblogexpert,awstats,w3perl来处理那种体积的日志文件。目前部门的解决方案:1,tocmat/apache访问日志记录作为黑客攻击后分析的主要信息来源2,webtrain台湾总部日志记录作为台湾总部规划的参考3,googleanalytics日志记录作为用户信息分析和挖掘的主要手段4,yahoo日志记录作为日常流量的评估工具,-,23,TOMCAT状态验证,目的:在AP或者项目出现问题之后,可以使用该方法进行测试,帮助快速定位问题位置URL:http:/x.x.x.x:x/dbtest/test.jsp(xxxx:x是服务器的IP和端口信息)验证内容:1,AP和数据库连接是否正常2,AP本身是否正常3,AP运行基本信息4,JNDI是否正确。注意事项:验证内容以能达到目的而提供最少内容为宜,如果验证脚本太过复杂,会使该项的目的失去意义,-,24,TOMCAT设置SSL访问,SSL访问要求:1,证书server.key2,密钥password设置方法:修改tomcat/conf/server.xml文件将以下内容替换原来8443的即可,不要确保路径正确并存在证书,-,25,TOMCAT安全策略,现状:任何AP都会有安全漏洞,基于目前部门的实际情形,无法完全避免。目标:尽量减少安全漏洞的出现,增加黑客破解的成本。安全策略:1,设置超过16位长度的用户名和密码-提升暴力破解的成本2,定期检查访问日志,周期性的抽查访问日志3,将manager,probe项目重命名为ecd-server,ecd-manager4,设置访问控制列表6,使用apache作为前端代理服务器,控制部分URL不转发或者将URL重写例如,仅转发项目特定的URL,其余全部不转发,保证安全性。,-,26,TOMCAT的URL编码格式,如果URL当中会有非英文字符,那么需要通过AP进行URL编码格式的定义,否则URL中的非英文字符无法保证正确解析。无特殊要求的情况下,需要将URL编码设置为和项目统一的编码格式。部门目前统一使用UTF-8字符编码方式,-,27,TOMCAT传输压缩,通过启用传输压缩功能,可以减少server的网络流量,节省带宽Tomcat默认没有自动gzip压缩,可以尝试启用tomcat的gzip压缩。部门建议:使用apache处理前端请求,并且在apache端进行传输压缩的设置。减少AP的压力Tomcat进行传输压缩的设置方法:修改server.xml验证:,-,28,TOMCAT集群和负载均衡,模式:1,故障转移有两台tomcatAB,A负责接收请求响应,B作为A的故障转移服务器,不处理请求,仅在A宕机之后作为应急响应,才会处理请求。在A恢复之后,就又不接受请求了。2,负载均衡有两台tomcatAB,AB共同接受请求响应,分摊流量,一台宕机不会影响应用的使用,并且对用户透明3,session复制上述两种集群,当服务器宕机故障转移时,会影响宕机时的用户,之后的用户不会影响。,-,29,TOMCAT集群和负载均衡,最初架构:TOMCAT当前端AP处理所有请求,-,30,TOMCAT集群和负载均衡,第一次改进:Apache作为前端AP,提升稳定性Apache将动态内容转发给tomcat处理,-,31,TOMCAT集群和负载均衡,第二次该进:Tomcat做负载均衡接受apache请求这样可以避免tomcat宕机导致应用不可用因为apache宕机的概率远远小于tomcat另外,维护操作可以不影响业务运行,-,32,TOMCAT集群和负载均衡,第三次该进:Tomcat进行session复制,从而保证任何业务和用户都不会因为停机而中断,-,33,TOMCAT集群和负载均衡,第四次该进:消除apache单点故障利用LVS目前,我们使用的是F5硬件设备实现LVS的部分,提升稳定性,降低复杂程度。,-,34,TOMCAT集群和负载均衡,实际请求流程,-,35,ECD部门AP(TOMCAT)部署规范,目的:1,便于服务器管理和维护2,便于服务器备份操作3,便于应急人员(非项目直接维护人员)快速熟悉系统环境4,便于应用服务器快速迁移(故障迁移时候非常重要)5,防止在服务器上胡乱放置文件夹带来的安全隐患(人为误删除)注意:1,本规范以TOMCAT为例,其余AP服务器以同样方式处理即可,无需一一举例2,LINUX环境和SOLARIS环境的路径唯一区别:绝对路径少了/export开头SOLARIS/export/home/ecdLINUX/home/ecd3,WINDOWS在非系统盘根目录建ECD文件夹,后续路径相同4,不接受C盘(windows系统)部署系统5,不接受磁盘空间小于40GB磁盘分区部署系统,-,36,ECD部门AP(TOMCAT)部署规范,SOLARIS环境/export/home/ecd/部门AP服务器部署的根目录/export/home/ecd/tomcat所有tomcat安装目录/export/home/ecd/weblogic所有weblogic安装目录/export/home/ecd/jdk所有jdk安装目录/export/home/ecd/soft所有soft存放目录/export/home/ecd/backup所有备份
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025甘肃省内铁路系统安检工作人员招聘40人(第二期)笔试参考题库附带答案详解
- 2025年郑州空中丝路文化传媒有限公司招聘实习生7人笔试参考题库附带答案详解
- 2025年中国铁道出版社有限公司招聘(14人)笔试参考题库附带答案详解
- 2025宝鸡机床集团有限公司招聘(25人)笔试参考题库附带答案详解
- 2025四川成都兴城投资集团有限公司招聘11人笔试参考题库附带答案详解
- 2025内蒙古能源集团有限公司招聘55人笔试参考题库附带答案详解
- 2025上海泛象文化发展有限公司招聘5人笔试参考题库附带答案详解
- 危险源安全培训感想课件
- 地铁基础知识培训课件
- 地铁公司级安全培训体会课件
- 2025公需课《人工智能赋能制造业高质量发展》试题及答案
- 除数是整数的小数除法练习课
- 东芝电梯CV180故障诊断
- 毕业设计住宅楼采暖系统设计
- 三年级上册数学课件-5 间隔排列|苏教版
- 退伍军人职业规划课件
- 洗眼器教育培训
- 调查研究方法与调研报告写作讲义课件
- 干燥综合症的中医治疗冯兴华公开课课件
- 关于开具无犯罪记录证明的函(模板)
- 绘图服务合同(范本)
评论
0/150
提交评论