tomcat配置

合集下载

tomcat配置文件详解

tomcat配置文件详解

tomcat配置文件详解(一):目录结构tomcat的目录结构如下:目录名简介bin 存放启动和关闭tomcat脚本conf 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xmlwork 存放jsp编译后产生的class文件webapp 存放应用程序示例,以后要部署的应用程序也要放到此目录logs 存放日志文件lib/japser/common 这三个目录主要存放tomcat所需的jar文件(二):server.xml配置简介下面我们将讲述这个文件中的基本配置信息,更具体的配置信息见tomcat的文档元素名属性解释server port 指定一个端口,这个端口负责监听关闭tomcat的请求shutdown 指定向端口发送的命令字符串service name 指定service的名字Connector (表示客户端和service之间的连接) port 指定服务器端要创建的端口号,并在这个断口监听来自客户端的请求minProcessors 服务器启动时创建的处理请求的线程数maxProcessors 最大可以创建的处理请求的线程数enableLookups 如果为true,则可以通过调用request.getRemoteHost()进行DNS查询来得到远程客户端的实际主机名,若为false则不进行DNS查询,而是返回其ip地址redirectPort 指定服务器正在处理http请求时收到了一个SSL传输请求后重定向的端口号acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理connectionTimeout指定超时的时间数(以毫秒为单位)Engine (表示指定service中的请求处理机,接收和处理来自Connector的请求) defaultHost 指定缺省的处理请求的主机名,它至少与其中的一个host元素的name属性值是一样的Context (表示一个web应用程序,通常为WAR文件,关于WAR 的具体信息见servlet规范) docBase 应用程序的路径或者是WAR文件存放的路径path 表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/**** reloadable 这个属性非常重要,如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序host (表示一个虚拟主机) name 指定主机名appBase 应用程序基本目录,即存放应用程序的目录unpackWARs 如果为true,则tomcat会自动将WAR文件解压,否则不解压,直接从WAR 文件中运行应用程序Logger (表示日志,调试和错误信息) className 指定logger使用的类名,此类必须实现org.apache.catalina.Logger 接口prefix 指定log文件的前缀suffix 指定log文件的后缀timestamp 如果为true,则log文件名中要加入时间,如下例:localhost_log.2001-10-04.txt 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响应代码,发送的字节数。

Tomcat安装配置

Tomcat安装配置

Tomcat安装配置1- 动态web1.1 web服务器本⾝是⼀个程序,运⾏在服务器上。

也称为Web容器,写的程序是运⾏在Web容器中。

容器作⽤:共享资源(图⽚,⽹页),将服务器上资源分享给浏览器。

解析写的Java程序处理⽤户发送的请求,并且对请求做出响应。

把⽣成的结果以⽹页的⽅式显⽰在浏览器上。

基本结构服务器缺点:服务器的动态web资源出现错误,需要重新编写我们的后台程序,重新发布。

服务器优点:Web页⾯可以动态更新,所有⽤户看到都不是同⼀个页⾯,它可以与数据库交互。

2- Tomcat2.1 安装tomcat2.2 Tomcat配置2.2.1 环境变量的配置CATALINA_HOME%CATALINA_HOME%\bin添加Tomcat的安装⽬录配置PathTomcat的启动与关闭常⽤命令启动的命令:startup.bat关闭的命令:shutdown.bat2.3 Tomcat的⽬录结构2.4 Tomcat项⽬发布⽅式1: 直接将项⽬复制到webapps⽬录下。

⽅式2: 采⽤压缩⽂件.war的⽅式。

将整个项⽬使⽤压缩⼯具打包成⼀个zip⽂件,将zip的扩展名为war。

复制到webapps⽬录下,tomcat会⾃动解压成⼀个同名的⽬录。

2.5 idea中配置Tomcat编辑运⾏配置添加Tomcat的配置服务器信息配置服务器的详细信息修改项⽬发布的访问地址点右上⾓的启动图标,启动Tomcat服务器服务器启动成功的状态信息⽇志乱码现象启动Tomcat的时候会出淇℃伅 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.鏈嶅姟鍣ㄧ増鏈�:解决这种乱码的问题,解决问题的⽅法是到tomcat/conf/⽬录下,修改logging.properties将java.util.logging.ConsoleHandler.encoding = utf-8更改为 java.util.logging.ConsoleHandler.encoding = GBK。

tomcat配置手册

tomcat配置手册

以下部署方式都是针对tomcat5.0以上版本。

Tomcat4中的Manager和Admin管理工具其实就是利用它来部署的。

在Tomcat5中提出了Context descriptor这个概念,且为其配置了一个专有目录,而不像Tomcat4那样大杂烩一般地放置在$appBase目录下。

Context descriptor是一个只包含Context元素的xml格式的部署文件,其中Context元素与server.xml中的Context元素配置相同。

对于一个给定的主机,Context descriptor放置在$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.xml文档(2)在xxx.xml文档中配置如下<Context docBase="${catalina.home}/server/webapps/host-manager"privileged="true" antiResourceLocking="false" antiJARLocking="false"> </Context>注:docBase也可以设置为[eclipse的workplace]/[project]/webroot静态部署是指在Tomcat运行之前就把相关的Web应用程序放置到合适的目录,在Tomcat启动的时候自动来部署这些应用程序。

tomcat常用的调优参数

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_6.0.18_配置

tomcat_6.0.18_配置

第一步:下载jdk和tomcat:JDK下载Tomcat下载最新的jdk为1.6.10,tomcat为6.0,建议jdk1.4以上,tomcat4.0以上第二步:安装和配置你的jdk和tomcat:执行jdk和tomcat的安装程序,然后设置按照路径进行安装即可。

1.安装jdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的jdk安装在C:\Program Files\Java):JAVA_HOME=C:\Program Files\Java\jdk1.6.0_10classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin (注:加在path最前面即可)在shell 中/>Java -version 检查是否设定成功。

或接着可以写一个简单的java程序来测试JDK是否已安装成功:public class Test{public static void main(String args[]){System.out.println("This is a test program.");}}将上面的这段程序保存为文件名为Test.java的文件。

然后打开命令提示符窗口,cd到你的Test.java所在目录,然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。

2.安装Tomcat后,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的tomcat安装在c:\tomcat):CATALINA_HOME:c:\tomcatCATALINA_BASE:c:\tomcatTOMCAT_HOME: C:\Tomcat然后修改环境变量中的classpath,把tomat安装目录下的common\lib下的servlet.jar追加到classpath中去,修改后的classpath如下:classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME% \common\lib\servlet-api.jar;【注意最新版本的Tomcat中可能没有common这个文件夹了。

tomcat内存配置及配置参数详解

tomcat内存配置及配置参数详解

tomcat内存配置及配置参数详解1、jvm内存管理机制:1)堆(Heap)和⾮堆(Non-heap)内存按照官⽅的说法:“ 虚拟机具有⼀个堆,堆是运⾏时数据区域,所有类实例和数组的内存均从此处分配。

堆是在 Java 虚拟机启动时创建的。

”“在JVM中堆之外的内存称为⾮堆内存(Non-heap memory)”。

可以看出JVM主要管理两种类型的内存:堆和⾮堆。

简单来说堆就是Java代码可及的内存,是留给开发⼈员使⽤的;⾮堆就是JVM留给⾃⼰⽤的,所以⽅法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运⾏时常数池、字段和⽅法数据)以及⽅法和构造⽅法的代码都在⾮堆内存中。

堆内存分配JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM最⼤分配的堆内存由-Xmx指定,默认是物理内存的1/4。

默认空余堆内存⼩于40%时,JVM就会增⼤堆直到-Xmx的最⼤限制;空余堆内存⼤于70%时,JVM会减少堆直到-Xms的最⼩限制。

因此服务器⼀般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的⼤⼩。

说明:如果-Xmx 不指定或者指定偏⼩,应⽤可能会导致ng.OutOfMemory错误,此错误来⾃JVM,不是Throwable的,⽆法⽤try...catch捕捉。

⾮堆内存分配JVM使⽤-XX:PermSize设置⾮堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最⼤⾮堆内存的⼤⼩,默认是物理内存的1/4。

(还有⼀说:MaxPermSize缺省值和-server -client选项相关,-server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。

这个我没有实验。

)上⾯错误信息中的PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。

tomcat5.5的详细配置

一、开发环境配置第一步:下载j2sdk和tomcat:到sun官方站(/j2se/1.5.0/download.jsp)下载 j2sdk,注意下载版本为Windows Offline Installation的SDK,同时最好下载J2SE 1.5.0 Documentation,然后到tomcat 官方站点(http: ///site/downloads/downloads_tomcat-5.cgi)下载tomcat(下载最新 5.5.9版本的tomcat);第二步:安装和配置你的j2sdk和tomcat:执行j2sdk和tomcat的安装程序,然后按默认设置进行安装即可。

1.安装j2sdk以后,需要配置一下环境变量,在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量(假定你的j2sdk安装在c:\j2sdk1.5.0):JAVA_HOME=c:\j2sdk1.5.0classpath=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(.;一定不能少,因为它代表当前路径)path=%JAVA_HOME%\bin接着可以写一个简单的java程序来测试J2SDK是否已安装成功:public class Test{public static void main(String args[]){System.out.println("This is a test program.");}}将上面的这段程序保存为文件名为Test.java的文件。

然后打开命令提示符窗口,cd到你的Test.java所在目录(cd /d d:),然后键入下面的命令javac Test.javajava Test此时如果看到打印出来This is a test program.的话说明安装成功了,如果没有打印出这句话,你需要仔细检查一下你的配置情况。

Tomcat配置文件详解

Tomcat配置⽂件详解打开Tomcat的配置⽬录,我们会发现下⾯的配置⽂件:server.xml:Tomcat的主配置⽂件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;web.xml:遵循Servlet规范标准的配置⽂件,⽤于配置servlet,并为所有的Web应⽤程序提供包括MIME映射等默认配置信息;context.xml:所有host的默认配置信息;logging.properties:⽇志相关配置;tomcat-users.xml:Realm认证时⽤到的相关⾓⾊、⽤户和密码等信息;Tomcat⾃带的manager默认情况下会⽤到此⽂件;在Tomcat中添加/删除⽤户,为⽤户指定⾓⾊等将通过编辑此⽂件实现;catalina.policy:Java相关的安全策略配置⽂件,在系统资源级别上提供访问控制的能⼒,以安全模式启动Tomcat会使⽤这个配置catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat在启动时会事先读取此⽂件的相关设置;jaspic-providers.xml:⽤户认证配置⽂件这篇博客就来介绍下这⼏个配置⽂件的作⽤,以及常⽤的配置选项。

server.xml配置server.xml是Tomcat的主配置⽂件,可以对Service, Connector, Engine, Realm, Valve, Hosts等主组件进⾏相关配置。

<!-- port: 接收shutdown指令的端⼝,默认仅允许通过本机访问,默认为8005;shutdown:发往此Server⽤于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;使⽤⽅式:telnet localhost 8005,输⼊SHUTDOWN即可关闭tomcat如果你不配置这两个属性,Tomcat的这种关闭机制还是会运⾏的。

tomcat 配置host的规则

在 Apache Tomcat 中,可以使用<Host>元素来配置虚拟主机。

虚拟主机允许在单个Tomcat 服务器上托管多个域名或主机名。

以下是关于 Tomcat 中配置虚拟主机的详细规则:
1.在 server.xml 中配置 Host 元素:
要配置虚拟主机,你需要编辑 Tomcat 的server.xml文件。

在该文件中,你可以添加多个<Host>元素,每个元素对应一个虚拟主机的配置。

例如:
2.Host 元素的属性:
–name属性指定虚拟主机的名称,通常是主机名或域名。

–appBase属性指定应用程序基础目录,它是该虚拟主机中部署的应用程序的根目录。

3.添加 Context 元素:
在<Host>元素中,你可以使用<Context>元素来配置特定的 Web 应用程序。

<Context>元素允许你指定上下文路径和应用程序的位置。

例如:
这将在虚拟主机中部署位于appBase目录下的当前应用程序。

4.配置多个虚拟主机:
你可以在server.xml文件中配置多个<Host>元素,每个元素对应一个虚拟主
机。

这允许你在同一 Tomcat 服务器上托管多个域名或主机名。

5.重启 Tomcat 服务器:
一旦你完成了server.xml文件的配置更改,你需要重新启动 Tomcat 服务器,以便让更改生效。

确保在配置虚拟主机时小心谨慎,避免出现冲突或错误配置。

配置完毕后,你可以使用不同的域名或主机名访问同一 Tomcat 服务器上的不同应用程序。

Tomcat 部署项目的三种方法

Tomcat 部署项目的三种方法1、下载Tomcat 服务器官网下载地址:/回到顶部2、启动并部署Tomcat 服务器①、解压tomcat 安装包到一个非中文目录下②、配置环境变量。

JAVA_HOME(指向JDK 安装的根目录)③、双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器(如果一闪而过,那就是没有配置JAVA_HOME 的环境变量)④、在浏览器中输入http://localhost:8080注意:Tomcat 启动不了的时候注意配置JAVA_HOME:C:\ProgramFiles\Java\jdk1.6.0_43这是安装JDK的根目录回到顶部3、Tomcat 的目录结构4、部署项目的第一种方法(项目直接放入webapps 目录中)1、将编写并编译好的web项目(注意要是编译好的,如果是eclipse,可以将项目打成war 包放入),放入到webapps 中2、启动tomcat服务器(双击apache-tomcat-6.0.16\bin 目录下的startup.bat,启动服务器)3、在浏览器输入:http://localhost:8080/项目名/访问的文件名5、部署项目的第二种方法(修改conf/server.xml 文件)①、打开tomcat下conf/server.xml,在1path:浏览器访问时的路径名docBase:web项目的WebRoot所在的路径,注意是WebRoot的路径,不是项目的路径。

其实也就是编译后的项目reloadble:设定项目有改动时,tomcat是否重新加载该项目②、双击startup.bat,启动tomcat 服务器,然后在浏览器输入访问的项目名称路径注意:如果你配置的path="/xx",那么访问的时候就是这样:6、部署项目的第三种方法(apache-tomcat-7.0.52\conf\Catalina\localhost )①、进入到apache-tomcat-7.0.52\conf\Catalina\localhost 目录,新建一个项目名.xml 文件②、在那个新建的xml 文件中,增加下面配置语句(和上面的是一样的,但是不需要path 配置,加上也没什么用)1③、在浏览器输入路径:localhost:8080/xml文件名/访问的文件名总结:①、第一种方法比较普通,但是我们需要将编译好的项目重新copy 到webapps 目录下,多出了两步操作②、第二种方法直接在server.xml 文件中配置,但是从tomcat5.0版本开始后,server.xml 文件作为tomcat 启动的主要配置文件,一旦tomcat 启动后,便不会再读取这个文件,因此无法再tomcat 服务启动后发布web 项目③、第三种方法是最好的,每个项目分开配置,tomcat 将以\conf\Catalina\localhost 目录下的xml 文件的文件名作为web 应用的上下文路径,而不再理会中配置的path 路径,因此在配置的时候,可以不写path。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.配置系统管理(Admin Web Application)大多数商业化的J2EE服务器都提供一个功能强大的管理界面,且大都采用易于理解的Web应用界面。

Tomcat按照自己的方式,同样提供一个成熟的管理工具,并且丝毫不逊于那些商业化的竞争对手。

Tomcat的Admin Web Application最初在4.1版本时出现,当时的功能包括管理context、data source、user和group等。

当然也可以管理像初始化参数,user、group、role的多种数据库管理等。

在后续的版本中,这些功能将得到很大的扩展,但现有的功能已经非常实用了。

Admin Web Application被定义在自动部署文件:CATALINA_BASE/webapps/admin.xml 。

(译者注:CATALINA_BASE即tomcat安装目录下的server目录)你必须编辑这个文件,以确定Context中的docBase参数是绝对路径。

也就是说,CATALINA_BASE/webapps /admin.xml 的路径是绝对路径。

作为另外一种选择,你也可以删除这个自动部署文件,而在server.xml文件中建立一个Admin Web Application的context,效果是一样的。

你不能管理Admin Web Application这个应用,换而言之,除了删除CATALINA_BASE/webapps/admin.xml ,你可能什么都做不了。

如果你使用UserDatabaseRealm(默认),你将需要添加一个user以及一个role到CATALINA_BASE/conf/tomcat-users.xml 文件中。

你编辑这个文件,添加一个名叫“admin”的role 到该文件中,如下:你同样需要有一个用户,并且这个用户的角色是“admin”。

象存在的用户那样,添加一个用户(改变密码使其更加安全):当你完成这些步骤后,请重新启动Tomcat,访问http://localhost:8080/admin,你将看到一个登录界面。

Admin Web Application采用基于容器管理的安全机制,并采用了Jakarta Struts框架。

一旦你作为“admin”角色的用户登录管理界面,你将能够使用这个管理界面配置Tomcat。

2.配置应用管理(Manager Web Application)Manager Web Application让你通过一个比Admin Web Application更为简单的用户界面,执行一些简单的Web应用任务。

Manager Web Application被被定义在一个自动部署文件中:你必须编辑这个文件,以确保context的docBase参数是绝对路径,也就是说CATALINA_HOME/server/webapps/manager的绝对路径。

(译者注:CATALINA_HOME即tomcat安装目录)如果你使用的是UserDatabaseRealm,那么你需要添加一个角色和一个用户到CATALINA_BASE/conf/tomcat-users.xml文件中。

接下来,编辑这个文件,添加一个名为“manager”的角色到该文件中:你同样需要有一个角色为“manager”的用户。

像已经存在的用户那样,添加一个新用户(改变密码使其更加安全):然后重新启动Tomcat,访问http://localhost/manager/list,将看到一个很朴素的文本型管理界面,或者访问http: //localhost/manager/html/list,将看到一个HMTL的管理界面。

不管是哪种方式都说明你的Manager Web Application现在已经启动了。

Manager application让你可以在没有系统管理特权的基础上,安装新的Web应用,以用于测试。

如果我们有一个新的web应用位于/home/user /hello下在,并且想把它安装到 /hello下,为了测试这个应用,我们可以这么做,在第一个文件框中输入“/hello”(作为访问时的path),在第二个文本框中输入“file: /home/user/hello”(作为Config URL)。

Manager application还允许你停止、重新启动、移除以及重新部署一个web应用。

停止一个应用使其无法被访问,当有用户尝试访问这个被停止的应用时,将看到一个503的错误??“503 - This application is not currently available”。

移除一个web应用,只是指从Tomcat的运行拷贝中删除了该应用,如果你重新启动Tomcat,被删除的应用将再次出现(也就是说,移除并不是指从硬盘上删除)。

3.部署一个web应用有两个办法可以在系统中部署web服务。

1>拷贝你的WAR文件或者你的web应用文件夹(包括该web的所有内容)到$CATALINA_BASE/webapps 目录下。

2>为你的web服务建立一个只包括context内容的XML片断文件,并把该文件放到$CATALINA_BASE/webapps目录下。

这个web应用本身可以存储在硬盘上的任何地方。

如果你有一个WAR文件,你若想部署它,则只需要把该文件简单的拷贝到CATALINA_BASE/webapps目录下即可,文件必须以“.war” 作为扩展名。

一旦Tomcat监听到这个文件,它将(缺省的)解开该文件包作为一个子目录,并以WAR文件的文件名作为子目录的名字。

接下来,Tomcat将在内存中建立一个context,就好象你在server.xml文件里建立一样。

当然,其他必需的内容,将从server.xml中的DefaultContext获得。

部署web应用的另一种方式是写一个Context XML片断文件,然后把该文件拷贝到CATALINA_BASE/webapps目录下。

一个Context片断并非一个完整的XML文件,而只是一个 context元素,以及对该应用的相应描述。

这种片断文件就像是从server.xml中切取出来的context元素一样,所以这种片断被命名为“context片断”。

举个例子,如果我们想部署一个名叫MyWebApp.war的应用,该应用使用realm作为访问控制方式,我们可以使用下面这个片断:把该片断命名为“MyWebApp.xml”,然后拷贝到CATALINA_BASE/webapps目录下。

这种context片断提供了一种便利的方法来部署web应用,你不需要编辑server.xml,除非你想改变缺省的部署特性,安装一个新的web应用时不需要重启动Tomcat。

4.配置虚拟主机(Virtual Hosts)关于server.xml中“Host”这个元素,只有在你设置虚拟主机的才需要修改。

虚拟主机是一种在一个web服务器上服务多个域名的机制,对每个域名而言,都好象独享了整个主机。

实际上,大多数的小型商务网站都是采用虚拟主机实现的,这主要是因为虚拟主机能直接连接到Internet并提供相应的带宽,以保障合理的访问响应速度,另外虚拟主机还能提供一个稳定的固定IP。

基于名字的虚拟主机可以被建立在任何web服务器上,建立的方法就是通过在域名服务器(DNS)上建立IP地址的别名,并且告诉web服务器把去往不同域名的请求分发到相应的网页目录。

因为这篇文章主要是讲 Tomcat,我们不准备介绍在各种操作系统上设置DNS的方法,如果你在这方面需要帮助,请参考《DNS and Bind》一书,作者是Paul Albitz and Cricket Liu (O'Reilly)。

为了示范方便,我将使用一个静态的主机文件,因为这是测试别名最简单的方法。

在Tomcat中使用虚拟主机,你需要设置DNS或主机数据。

为了测试,为本地IP设置一个IP别名就足够了,接下来,你需要在server.xml中添加几行内容,如下:Tomcat的server.xml文件,在初始状态下,只包括一个虚拟主机,但是它容易被扩充到支持多个虚拟主机。

在前面的例子中展示的是一个简单的 server.xml版本,其中粗体部分就是用于添加一个虚拟主机。

每一个Host元素必须包括一个或多个context元素,所包含的context元素中必须有一个是默认的context,这个默认的context的显示路径应该为空(例如,path=””)。

5.配置基础验证(Basic Authentication)容器管理验证方法控制着当用户访问受保护的web应用资源时,如何进行用户的身份鉴别。

当一个web应用使用了Basic Authentication(BASIC参数在web.xml文件中auto-method元素中设置),而有用户访问受保护的web应用时,Tomcat将通过HTTP Basic Authentication方式,弹出一个对话框,要求用户输入用户名和密码。

在这种验证方法中,所有密码将被以64位的编码方式在网络上传输。

注意:使用Basic Authentication通过被认为是不安全的,因为它没有强健的加密方法,除非在客户端和服务器端都使用HTTPS或者其他密码加密码方式(比如,在一个虚拟私人网络中)。

若没有额外的加密方法,网络管理员将能够截获(或滥用)用户的密码。

但是,如果你是刚开始使用Tomcat,或者你想在你的 web应用中测试一下基于容器的安全管理,Basic Authentication还是非常易于设置和使用的。

只需要添加<security-constraint>和<login-config>两个元素到你的web应用的web.xml文件中,并且在CATALINA_BASE/conf/tomcat-users.xml 文件中添加适当的<role>和<user>即可,然后重新启动Tomcat。

下面例子中的web.xml摘自一个俱乐部会员网站系统,该系统中只有member目录被保护起来,并使用Basic Authentication进行身份验证。

请注意,这种方式将有效的代替Apache web服务器中的.htaccess 文件。

6.配置单点登录(Single Sign-On)一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理。

一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数。

作为缺省的情况,当用户第一次请求受保护的资源时,每一个web应用都会要求用户登录。

如果你运行了多个web应用,并且每个应用都需要进行单独的用户验证,那这看起来就有点像你在与你的用户搏斗。

相关文档
最新文档