TOMCAT最佳实践
WEB SERVER介绍
• • • • • • • • • • Web服务器 Jetty(目前google/Yahoo使用) 体积小,灵活,适合作为嵌入式应用 Tomcat 集群和监控支持较好,功能完整,实现规范,是SUN支持的项目 Jweb tomcat+apache=jweb 参考资料较少,普及率较低 J2EE服务器 JBoss AS GlassFish Weblogic WebSphere Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由 Apache,Sun和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和 Jsp规范总能在 Tomcat中得到体现 Jakarta项目是在Apache软件基金会营运的公开源代码软件开发项目之一。开发着面向编程语言 Java的程序库,框架等。 Jakarta项目是在Apache软件基金会营运的公开源代码软件开发项目之 一。开发JAVA的程序库,框架。 本文致力于tomcat的最佳实践,介绍了tomcat的各种功能和使用技巧。
TOMCAT目录结构
Server.xml图形化 一个server可有多个sercice 一个sercice可有多个connector 和一个engine
TOMCAT目录结构
常用的配置文件简单介绍 server.xml:Tomcat中最重要的配置文件,定义了tomcat的体系结构 设置端口,集群,web应用,访问日志等主要功能。 tocmat-users.xml:Tocmat管理员身份的配置文件 关键是设置管理员账号的密码 context.xml:全局context的配置文件。 将数据库JNDI在这里定义好 logging.properties: Tocmat日志配置文件 可以修改默认的Tocmat日志路径和名称
TOMCAT配置数据库
设置: 1,修改TOMCAT_HOME/conf/context.xml 2,将数据库的JDBC驱动放入TOMCAT_HOME/lib下 3,重启TOMCAT,进行验证即可 4,使用方法: Resource name=“jdbc/MioDS”中明确指出 名称是“jdbc/MioDS” 5,代码中DataSource ds =(DataSource)ctx.lookup("java:comp/env/jdbc/MioDS"); 优点: 1,管理:不需要修改代码即可以适应开发,测试,正式环境,因为名称都是 “jdbc/MioDS” 2,监控:TOMCAT监控程序可以实时显示数据源状态 3,安全:项目开发和测试人员不必知道数据库账号这类敏感信息 4,性能:使用连接池可以提升系统效能 注意:文章中使用的“jdbc/MioDS”仅仅是示例作用,可以根据项目具体命名
TOMCAT和JVM的配置
1,系统选型最重要:重要项目AP尽可能使用64位系统 64位系统JVM内存最高可以设置为3800MB左右 32位系统JVM内存最高可以设置为1500MB左右 单一TOMCAT 64位系统可以使用内存3800MB,32位仅能使用1500MB 2,根据系统物理内存大小合理设置下列五个参数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内存管理会导致无法预料的后果
TOMCAT端口管理表
项目名 mio8080 mio8081 mio8082 mio8083 mio8084 mio8085 mio8086 mio8087 mio8088 mio8089 Shutdown端口 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 http端口 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 Ajp端口 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009
TOMCAT和JVM的配置
•
• • • • • • • • • • • • • •
非服务方式启动的TOMCAT配置方法
修改 tomcat_home/bin/catalina.sh 添加以下内容: JAVA_HOME=/export/home/jdk1.6.0_16 JAVA_OPTS="-server -Xms3000m -Xmx3000m -XX:PermSize=400m -XX:MaxPermSize=400m -Dcom.sun.management.jmxremote“ 修改 tomcat_home/bin/catalina.bat 添加以下内容: set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_16 set JAVA_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左右
TOMCAT监控软件安装
监控软件:Lambda Probe 软件介绍:Lambda Probe(Tomcat Probe)是一个基于Web以实时的方式来管理单
• • • 个Tomcat主机的工具。它除了具备标准Tomcat Manager大部份功能之外 还提供一些能够帮助Web开发者和系统管理员更加清楚地了解Tomcat运 行情况的功能。 登陆账号: tomcat-users.xml文件中设置的user账号具有admin,manager的role 安装方法:1,以命令行方式启动的tomcat 在catalina.bat/catalina.sh中 在JAVA_OPTS项中添加-Dcom.sun.management.jmxremote 2,以服务方式启动的tomcat 在JAVA OPTIONS中添加一行 -Dcom.sun.management.jmxremote 3,将probe.war安装包放在tomcat_home/webapps下即可 管理界面:http://localhost:8080/probe
he Tomcat 10 YEARS
目录-----tomcat最佳实践
1,WEB SERVER介绍 2,TOMCAT目录结构 3,TOMCAT端口管理 4,TOMCAT账号管理 5,TOMCAT配置数据库 6,TOMCAT监控软件安装 7,TOMCAT环境变量 8,TOMCAT和JVM的配置 9,TOMCAT基于名称的虚拟主机 10,TOMCAT IP访问控制 11,TOMCAT访问日志记录 12,TOMCAT状态验证 13,TOMCAT设置SSL访问 14,TOMCAT安全策略 15,TOMCAT的URL编码格式 16,TOMCAT传输压缩 17,TOMCAT集群和负载均衡 18,ECD部门AP(TOMCAT)部署规范
TOMCAT配置数据库
•
• • • • • • • • • • • • • •
context.xml文件示例
<Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/MioDS" type="javax.sql.DataSource" maxActive="4" maxIdle="2" maxWait="5000" username="ecd" password="ecd" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.10. 10.10)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=ecd)))"/> </Context> 具体参数含义参考: /tomcat-6.0-doc/jndi-datasource-examples-howto.html
•
•
TOMCAT目录结构
•
目录结构七层
TOMCAT目录结构
CATALINA_HOME指的是tomcat的安装目录,如C:\Tomcat6.0 bin目录:控制tomcat的启动与关闭,以及与启动关闭有关的安全管理 conf目录:配置文件 lib目录:Tomcat容器使用的所有jar包和多个web应用程序共享的jar包 log目录:Tomcat生成的日志文件。日志文件是按天为单位生成 temp目录:Tomcat用来存放临时文件 webapps目录: Tomcat默认的web应用程序存放位置 work目录: Tomcat将jsp文件转换为java servlet的地方
• • • • • •
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="admin"/> <role rolename="manager"/> <user username="admin" password="admin" roles="admin,manager"/> </tomcat-users>
tomcat面试常见问题
Tomcat面试常见问题一、Tomcat的概述1.1 什么是Tomcat?1.2 Tomcat的特点和优势1.3 Tomcat的架构和组件二、Tomcat的安装和配置2.1 Tomcat的安装步骤1.下载Tomcat安装包2.解压Tomcat安装包3.配置环境变量4.启动Tomcat服务器2.2 Tomcat的配置文件1.server.xml2.web.xml3.context.xml2.3 Tomcat的常用配置参数1.Connector配置2.Host配置3.Context配置三、Tomcat的部署和管理3.1 Tomcat的Web应用部署1.静态资源部署2.动态Web应用部署3.2 Tomcat的虚拟主机配置3.3 Tomcat的集群配置3.4 Tomcat的监控和管理工具1.Tomcat Manager2.JMX管理工具四、Tomcat的性能调优4.1 Tomcat的线程模型4.2 Tomcat的连接器配置4.3 Tomcat的缓存配置4.4 Tomcat的日志配置五、Tomcat的故障排查和疑难解答5.1 Tomcat的常见故障和解决方法1.Tomcat无法启动2.Tomcat访问出现错误页面3.Tomcat内存溢出问题5.2 Tomcat的常见问题解答1.Tomcat的Session管理问题2.Tomcat的安全性问题3.Tomcat的跨域访问问题六、Tomcat的扩展和定制6.1 Tomcat的插件和扩展6.2 Tomcat的定制开发6.3 Tomcat与其他中间件的集成七、Tomcat的最佳实践7.1 Tomcat的安全配置7.2 Tomcat的性能优化7.3 Tomcat的高可用和负载均衡以上是关于Tomcat面试常见问题的详细内容,涵盖了Tomcat的概述、安装和配置、部署和管理、性能调优、故障排查和疑难解答、扩展和定制以及最佳实践等多个方面。
通过深入探讨这些问题,可以帮助读者更好地理解和应用Tomcat,提升面试的成功率。
tomcat部署项目
第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="/hello" docBase="D:eclipse3.2.2forwebtoolsworkspacehelloWebRoot" debug="0" privileged="true">
runtime.getruntime().exec("cmd /c start "+strjavahome+"jar cvf hello.war c:\\tomcat5.0\\webapps\\root\\*");
}
catch(exception e){system.out.println(e);}
注意:删除一个Web应用同时也要删除webapps下相应的文件夹祸server.xml中相应的Context,还要将Tomcat的conf
\catalina\localhost目录下相应的xml文件删除。否则Tomcat仍会岸配置去加载。。。
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:
<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeloy="true" xmlValidation="falase" xmlNamespaceAware="false">
Tomcat+MyEclipse经典介绍(适合初学者)
Tomcat+MyEclipse单位:河南恩湃电力技术有限公司部门:IT部—应用集成项目组编写:刘志华日期:2010-4-19说明本文中要讲述在程序开发过程中Tomcat和MyEclipse的一些使用方法和常用配置,本文适用于公司内部所有使用Tomcat做为Web 服务器以及使用MyEclipse作为开发工具的人员。
本文中用到的Tomcat版本是6.0.26.。
文中用到的MyEclipse是version 6.5,Eclipse version 3.3.1. 不同版本之间的配置可能会有差异.在使用Tomcat之前你需要先安装JRE或JDK(可以到Sun公司网站下载),只有安装了JRE或JDK后Tomcat才能正常运行。
一、Tomcat的使用1、Tomcat的安装Tomcat的使用分为两个类型,一个是安装版的像普通安装程序一样安装后使用,另一种是解压版本的,解压后放到任意的目录即可以使用。
下面将分别介绍这两种安装方法。
1、使用安装版本从官方网站/download-60.cgi下载Tomcat6.0.26版本的安装版(tar)。
下载到本机以后执行安装文件如下图:一直下一步到选择安装目录:选择你要将Tomcat安装到的任意目录下,然后下一步:在这一步配置Tomcat运行时用到的端口号和对Tomcat进行管理的用户名密码,尽量保持默认,点击下一步:选择Tomcat运行时用到的JRE所在目录。
然后安装,直到安装完成。
安装完成后到安装目录里进行到Bin目录下执行tomcat6.exe可以看到Tomcat成功运行界面。
如下图:如果使用的是解压版本的Tomcat,将其解压到任意目录,在系统的环境变量里面配置JA V A_HOME环境变量,将其值配置为JRE所在目录(我本机配置的是C:\Program Files\Java\jre1.5.0_04),即可运行2、Tomcat目录说明/bin目录:存放启动和关闭Tomcat的脚本文件/lib目录:存放Tomcat运行时必须的jar包以及应用程序可以访问到的jar包/conf目录:存放Tomcat服务器的各种配置文件。
开发环境与测试环境搭建方案
开发环境与测试环境搭建方案开发环境与测试环境的搭建是软件开发过程中非常重要的一环。
开发环境用于开发人员进行代码编写、调试和集成测试,测试环境则用于进行软件的各种测试。
本文将介绍如何搭建开发环境与测试环境的方案,以及一些最佳实践。
开发环境应提供一个良好的开发和调试平台,包括以下几个方面的内容:1.1操作系统选择开发环境的操作系统应该与目标运行环境尽可能相同,这有助于减少因操作系统差异而引发的问题。
通常情况下,开发环境可以选择与目标运行环境一样的操作系统,也可以选择相同系列的操作系统。
1.2开发工具选择开发工具是开发人员进行代码编写、调试和集成测试的主要工具。
选择一个适合的开发工具是非常重要的。
通常情况下,我们应根据开发的具体需求选择相应的开发工具。
1.3版本控制系统开发环境应配置版本控制系统,有助于开发人员管理和追踪代码变更,确保代码的版本一致性。
通常情况下,我们可以选择Git、SVN等版本控制工具。
1.4开发数据库在开发环境中搭建一个开发数据库是非常重要的,它可以用于存储和管理开发过程中的数据。
通常情况下,我们可以选择MySQL、PostgreSQL等数据库。
1.5开发服务器对于一些需要服务器环境的项目,我们需要在开发环境中搭建一个开发服务器,用于模拟真实的生产环境。
通常情况下,我们可以选择Nginx、Tomcat等服务器。
测试环境的搭建是为了对软件进行各种测试,包括单元测试、功能测试、性能测试等。
以下是一些测试环境搭建的最佳实践:2.1硬件设备选择测试环境的硬件设备应尽可能与目标生产环境相似,这有助于准确地模拟真实的环境。
通常情况下,我们可以选择与目标生产环境相同或相似的服务器、网络设备等。
2.2虚拟化技术虚拟化技术可以帮助我们在一台物理机器上搭建多个虚拟机,从而降低硬件成本和管理成本。
通常情况下,我们可以使用VMware、VirtualBox等虚拟化软件。
2.3测试数据库测试环境应搭建一个测试数据库,用于存储测试数据和执行各种测试。
tomcat常用的调优参数
tomcat常用的调优参数Tomcat常用的调优参数Tomcat是一个开源的Java Servlet容器,广泛应用于Java Web 应用程序的部署和运行。
为了提高Tomcat的性能和稳定性,我们可以通过调优参数来优化其配置。
本文将介绍一些常用的Tomcat 调优参数,帮助您更好地配置和优化T omcat服务器。
1. 内存设置- -Xms: 设置JVM的初始堆大小,建议设置为物理内存的1/4或1/3。
- -Xmx: 设置JVM的最大堆大小,建议设置为物理内存的1/2或2/3。
- -XX:MaxPermSize: 设置JVM的永久代大小,建议设置为256MB或512MB。
- -XX:MaxMetaspaceSize: 设置JVM的元空间大小,建议设置为256MB或512MB。
2. 线程设置- maxThreads: 设置Tomcat的最大线程数,建议根据服务器的硬件配置和并发请求数进行调整。
- acceptCount: 设置Tomcat接受请求的队列大小,建议设置为200或300。
- connectionTimeout: 设置Tomcat的连接超时时间,建议设置为30秒或60秒。
3. 连接器设置- protocol: 设置连接器的协议,常用的有HTTP/1.1和AJP/1.3。
- port: 设置连接器的监听端口,建议使用80端口作为HTTP连接器的默认端口。
- maxKeepAliveRequests: 设置每个Keep-Alive连接的最大请求数,建议设置为100或200。
- keepAliveTimeout: 设置Keep-Alive连接的超时时间,建议设置为5秒或10秒。
4. 缓存设置- cacheSize: 设置Tomcat的静态文件缓存大小,建议根据静态文件的数量和大小进行调整。
- cacheTTL: 设置静态文件缓存的过期时间,建议设置为1小时或更长。
- cacheObjectMaxSize: 设置缓存对象的最大大小,建议根据缓存对象的平均大小进行调整。
tomcat rewrite config 简书
tomcat rewrite config 简书摘要:1.Tomcat简介2.Tomcat Rewrite配置的作用3.简书中的Tomcat Rewrite配置实例4.总结与展望正文:Tomcat是一个广泛使用的开源Java Web服务器,它提供了许多强大的功能以满足开发者和运维人员的需求。
其中一个重要的功能就是URL重写(Rewrite),它允许我们根据规则对请求的URL进行修改,从而实现更加灵活的网站架构和更友好的用户体验。
简书是一个国内知名的博客平台,它使用Tomcat作为Web服务器。
在简书的部署过程中,Tomcat Rewrite配置起到了关键作用。
通过合理的配置,简书可以实现URL的美化、权限控制、页面静态化等功能。
下面我们通过简书的实际配置,来了解如何使用Tomcat Rewrite。
首先,我们需要在Tomcat的配置文件(如:`server.xml`)中,添加`<Context>`标签,并在其中添加`<RewriteEngine>`标签。
这是Tomcat Rewrite配置的基本入口。
以简书为例,其配置如下:```xml<Context path="/" docBase="${jboss.server.home.dir}/content" reloadable="true" /><RewriteEngine enabled="true" />```接下来,我们需要为`<RewriteEngine>`标签添加`<Rule>`标签,以实现具体的重写规则。
简书的配置中,主要包含了以下几条规则:1.URL美化:将用户上传的图片、附件等文件的URL进行美化,例如将`/upload/image/1.jpg`重写为`/img/1.jpg`。
```xml<Rule from="^/upload/([^/]+)/([^/]+)$" to="/img/$2" />```2.权限控制:根据用户的角色和权限,限制访问某些页面。
tomcat性能优化方式简单整理
tomcat性能优化⽅式简单整理Tomcat本⾝优化Tomcat内存优化启动时告诉JVM我要⼀块⼤内存(调优内存是最直接的⽅式)我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数JAVA_OPTS参数说明server 启⽤jdk 的 server 版Xms java虚拟机初始化时的最⼩内存Xmx java虚拟机可使⽤的最⼤内存XX: PermSize 内存永久保留区域XX:MaxPermSize 内存最⼤永久保留区域配置⽰例:JAVA_OPTS='-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'说明:其内存的配置需要根据服务器(或虚拟机)的实际内存来配置重启tomcat⽣效Tomcat IO优化如何必要可以使⽤APR来从操作系统级别来解决异步的IO问题。
次之使⽤NIO。
在server.xml中Tomcat 线程优化maxThreads="600" ///最⼤线程数minSpareThreads="100"///初始化时创建的线程数maxSpareThreads="500"///⼀旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使⽤的处理请求的线程数都被使⽤时,可以放到处理队列中的请求数,超过这个数的请求将不予处理使⽤线程池在server.xml中增加executor节点,然后配置connector的executor属性,namePrefix:线程池中线程的命名前缀maxThreads:线程池的最⼤线程数minSpareThreads:线程池的最⼩空闲线程数maxIdleTime:超过最⼩空闲线程数时,多的线程会等待这个时间长度,然后关闭threadPriority:线程优先级<Executor name="tomcatThreadPool" namePrefix="req-exec-"maxThreads="1000" minSpareThreads="50"maxIdleTime="60000"/><Connector port="8080" protocol="HTTP/1.1"executor="tomcatThreadPool"/>禁⽤DNS查询当web应⽤程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。
tomcat基本操作
tomcat基本操作
1. 启动Tomcat:进入Tomcat的bin目录,执行startup.bat (Windows)或startup.sh(Linux)脚本;
2. 关闭Tomcat:进入Tomcat的bin目录,执行shutdown.bat (Windows)或shutdown.sh(Linux)脚本;
3. 部署一个Web应用程序:将具有.war文件扩展名的Web应用程序文件复制到$CATALINA_HOME/webapps目录中,然后等待Tomcat启动自动解压缩并部署;
4. 卸载一个Web应用程序:删除
$CATALINA_HOME/webapps目录中具有相应应用程序文件夹名称的文件夹;
5. 查找Tomcat版本号:进入Tomcat的bin目录,运行version.bat(Windows)或version.sh(Linux)脚本;
6. 查看运行时日志:进入Tomcat的logs目录,并查看各个日志文件;
7. 修改Tomcat端口号:修改
$CATALINA_HOME/conf/server.xml文件中的Port属性;8. 配置Tomcat环境变量:将$CATALINA_HOME/bin添加到系统环境变量中;
9. 配置Tomcat的JVM参数:修改
$CATALINA_HOME/bin/catalina.sh(Linux)或catalina.bat (Windows)文件;
10. 配置Tomcat的安全:修改
$CATALINA_HOME/conf/tomcat-users.xml文件。
tomcat的referrer-policy
tomcat的referrer-policy下载温馨提示:该文档是我店铺精心编制而成,希望大家下载以后,能够帮助大家解决实际的问题。
文档下载后可定制随意修改,请根据实际需要进行相应的调整和使用,谢谢!并且,本店铺为大家提供各种各样类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,如想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by the editor. I hope that after you download them, they can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!In addition, our shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!保护网站安全是现代网络运营中至关重要的一环。
tomcat部署(配置文件)
tomcat部署(配置⽂件)⼀、启动tomcat服务器的⽅式1. 直接到tomcat服务器的bin⽬录下双击startup.bat2. 通过cmd进⼊bin⽬录,输⼊命令startup.bat1. 但这时会出现的问题是,服务器启动程序只是⼀闪⽽过,为什么呢?其实问题就是,没有Java的JDK,我们需要到环境变量配置系统变量JAVA_HOME。
我们都知道,1.5 以上的版本的JDK只需要配置path变量就可以了。
但是如果你想在机器上使⽤tomcat的话,你就必须配置JAVA_HOME,指向JDK的安装位置。
配置好之后我们就可以正常打开tomcat了,双击startup.bat,tomcat正常启动。
启动完成后,我们在浏览器地址栏上输⼊:http://localhost:8080,会得到以下的界⾯⼆、配置环境变量我们需要配置系统变量:ATALINA_BASE:指向tomcat的安装位置CATALINE_HOME:指向tomcat的安装位置Path:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin三、配置tomcat的端⼝号tomcat的默认服务端⼝是8080。
可以通过配置⽂件来改变该服务端⼝,甚⾄通过修改配置⽂件让tomcat同时在多个端⼝提供服务tomcat的配置⽂件都放在conf⽬录下。
使⽤⽆格式⽂本编辑器打开该⽬录下的server.xml⽂件,定位到68⾏处<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" />其中,port="8080"就是web应⽤的服务端⼝,将8080改为任意端⼝,建议使⽤1024以上的端⼝,避免与公⽤端⼝冲突。
