tomcat安装_tomcat安装教程 - CSDN
精华内容
参与话题
  • windows下tomcat安装版的安装及配置

    万次阅读 2018-12-10 12:02:09
    windows下tomcat安装版的安装及配置 一.tomcat 安装版 解压缩版比较 tomcat 有两个版本,压缩版与安装版 压缩版:简单方便,官网下载下来后直接解压后就可以使用了。启动要通过命令去启动,然后会一直有...

    windows下tomcat安装版的安装及jvm参数配置

    一.tomcat 安装版 解压缩版比较

    tomcat 有两个版本,压缩版与安装版
    压缩版:简单方便,官网下载下来后直接解压后就可以使用了。启动要通过命令去启动,然后会一直有小黑框。
    无法开机自启动,每次都需手动启动。(当然还可以自己注册为服务,这里不说了)
    安装版:需安装,安装后会自动注册为服务,可在服务中设置开机自启动(在服务器环境中很实用),在服务器列表里显示
    较清晰。
    建议:在服务器环境安装tomcat安装版较合适。

    二.tomcat 安装版安装

    下载:以tomcat8.5为例。
    https://tomcat.apache.org/download-80.cgi
    这里写图片描述
    下载后直接安装,步骤简单,期间修改一下port
    这里写图片描述
    安装成功后在服务里可以看到
    这里写图片描述
    点击启动。可正常访问。
    点击查看tomcat的状态信息
    这里写图片描述
    会提示
    “403 Access Denied” 原因是没有权限。
    1.到Tomcat 8.5\conf\tomcat-users.xml修改,在节点里添加配置如下:

     <role rolename="manager-gui"/>
     <user username="admin" password="admin" roles="manager-gui"/>
    

    2.到Tomcat 8.5\webapps\manager\META-INF\context.xml 增加注释
    这里写图片描述
    重启后即可访问manager/status
    在此页面可看到服务相关状态信息:
    这里写图片描述
    重点关注jvm配置信息,
    从这里可以看出tomcat默认分配的内存很少,总共123M 最大可用228M,在服务器上肯定是不够用的,在哪里进行配置呢?
    找到tomcat的安装目录,Tomcat 8.5\bin\ 运行Tomcat8w.exe
    这里写图片描述
    修改下面的参数,例如修改为
    这里写图片描述
    点击应用–确定,重启服务 查看server status
    这里写图片描述
    jvm内存已经变大。

    tomcat参数说明

    附:windows下删除服务命令:

    sc delete [服务名称]
    
    展开全文
  • Tomcat的下载及安装

    万次阅读 多人点赞 2018-12-03 11:54:01
    一、Tomcat下载 1、打开Tomcat官网,默认进入官网首页,官网地址为:https://tomcat.apache.org/ 2、左侧的导航栏可以看到 Download(下载),以及最近相关版本的Tomcat(9、8、7...),这里选择的是Tomcat8,...

    一、Tomcat下载

    1、打开Tomcat官网,默认进入官网首页,官网地址为:https://tomcat.apache.org/

    2、左侧的导航栏可以看到 Download(下载),以及最近相关版本的Tomcat(9、8、7...),这里选择的是Tomcat8,点击进入

    3、进入tomcat8的相关页面后会显示一些该版本的信息,可以忽略,鼠标下滑进行查找

    4、这里我们可以看到Tomcat8的子版本,根据需求进行选择 8.5 还是 8.0 ,这里选择 Tomcat8.5

    5、现在该选择下载Tomcat8.5的安装方式了,解压版和安装版,解压版是第一个选项链接,但个人倾向于安装版,即最后一个选项链接(Windows Service Installer - Windows服务的安装程序),点击进行下载

    二、Tomcat安装

    1、Tomcat安装还是比较方便的,双击你下载的Tomcat .exe 文件进入安装界面

    注:安装Tomcat之前需安装并配置 jdk 和 jre ,请在安装并配置完毕后,再进行安装Tomcat

    2、点击 Next(下一步)

    3、点击 I Agree(我同意)

    4、点击 Next(下一步)

    5、到了这里,就需要注意一下了,需要设置自己的端口号(四位),默认为8080,如果你想设置成其他,也可以,但不推荐,因为可能会与其他端口冲突导致Tomcat无法正常启用等后果,想好后点击 Next(下一步)

    6、这里就更需要注意了,这是配置jre的关键步骤,所以,在安装Tomcat之前需要下载安装并配置jdk,Tomcat8.5会找到你jre的more默认,如果你在安装jre的时候,为自定义路径,这里就需要改成你的jre安装路径,选择完后点击 Next(下一步)

    7、这里就是你Tomcat的默认安装路径,当然,你也可以自定义,看个人喜好,选择完后点击 Install(安装)

    8、点选 Run Apache Tomcat(启动Tomcat服务),点击Finish(结束),OK,执行到这里Tomcat的安装就结束了,但是,Tomcat能不能够正常使用还需要测试

    9、打开浏览器,输入HTTP协议,加上你的Tomcat的端口号,即 http://localhost:8080/,进入Tomcat页面则表示成功,否则为失败,卸载重装,同时检查你的jdk是否安装配置,安装时jre的路径选择是否正确

    展开全文
  • Tomcat 下载、安装、配置图文教程

    万次阅读 多人点赞 2018-07-02 15:21:50
    Apache Tomcat下载、安装、配置图文教程自我心得1、Tomcat下载(1)Tomcat官网:Tomcat官方网址,可以在此处下载Tomcat。(2)点击左侧Download下的对应版本。注意有zip和exe两种格式的,zip是免安装版的,exe是安装...


    Apache Tomcat下载、安装、配置图文教程自我心得

    1、Tomcat下载

    (1)Tomcat官网:Tomcat官方网址,可以在此处下载Tomcat。

    (2)点击左侧Download下的对应版本。

    注意有zip和exe两种格式的,zip是免安装版的,exe是安装版。同时观察自己的电脑是64位系统还是32位系统。

    例如进入:Tomcat 9 版本下载页面,下滑,到core处选择自己需要的版本,如图所示:这里写图片描述


    我的电脑是64位,可以直接选择32-bit/64-bit Windows Service installer(pgp,md5,sha1),点击即可选择下载位置,点击下载,此处选择下载的是exe安装版本。若想下载免安装版本的,选择下载64-bit Windows zip(pgp,md5,sha1)。

    2、Tomcat安装

    2.1 exe版本安装

    1、从下载位置双击下载的zip


    点击next;

    2、同意安装协议:即点击I Agree

    这里写图片描述


    3、点开Tomcat,选中Service,以后将可以在管理的服务中启动和关闭Tomcat(也可以默认,不改变配置),点击next

    这里写图片描述


    4、出现管理提示框,要求输入端口和管理密码,保持默认设置就行。默认的端口号就是8080,这里一般不用设置。点击Next。

    这里写图片描述


    5、点击Next后会出现下图,它会自动找到JRE位置,如果用户没有安装JRE,可以修改指向JDK目录(很多用户安装后无法编译JSP,就是这里没找到JRE,请务必先要安装JDK,并把这个目录正确指向JRE或者JDK的目录)。

    这里写图片描述


    6、点击next,之后会出现Tomcat安装路径选择,一般默认安装到C盘,可以直接把C改成D,没有的文件夹会自动创建。修改完毕后点击Install。

    这里写图片描述


    7、安装完毕,点击finish。

    这里写图片描述


    8、打开浏览器 键入 http://localhost:8080 进入如下页面则表示安装成功:

    这里写图片描述


    2.2 zip版(免安装版本)

    直接解压缩,找到目录bin下的startup.bat,启动Tomcat;shutdown.bat:关闭Tomcat。


    3、Tomcat配置

    配置Tomcat之前要保证jdk已经配置完成。

    右击,计算机——属性——高级系统设置——打开环境变量的配置窗口,在系统环境变量一栏点击新建。变量名为TOMCAT_HOME,变量值为Tomcat安装目录,此处为:D:\Program Files (x86)\Apache Software Foundation\Tomcat 9.0。点击确定即可。

    在另外一篇博客中这样介绍Tomcat配置过程

    Tomcat环境变量配置:

    如果你的Tomcat安装在C盘里,如:C:\Program Files\Apache Software Foundation\Tomcat 8.0(在这里切记一下,安装Tomcat时,在其字母周围一定不要存在空格,否则最后可能导致配置不成功)

    同样,在系统变量里点新建:

    变量名:CATALINA_BASE

    变量值:C:\Program Files\Apache Software Foundation\Tomcat 8.0;

    再次新建:

    变量名:CATALINA_HOME

    变量值:C:\Program Files\Apache Software Foundation\Tomcat 8.0;

    点击确定后在classpath中加入%CATALINA_HOME%\common\lib\servlet-api.jar;(注意加的时候在原变量值后加英文状态下的“;”)

    在path中加入%CATALINA_HOME%\bin;(注意加的时候在原变量值后加英文状态下的“;”)

    确定后你的Tomcat就配置好了,同样要验证是否配置成功,那就运行Tomcat,点击启动(或Start service)后,打开浏览器,敲入http://localhost:8080,如果出现页面,那么配置成功。


    微信公众号:“遇见王川” 欢迎关注!


    展开全文
  • Tomcat安装及配置详解

    万次阅读 2018-06-03 09:56:07
    转载:http://www.ttlsa.com/tomcat/tomcat-install-and-configure/一,Tomcat简介Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目...

    转载:http://www.ttlsa.com/tomcat/tomcat-install-and-configure/

    一,Tomcat简介

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,它早期的名称为catalina,后来由Apache、Sun 和其他一些公司及个人共同开发而成,并更名为Tomcat。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选,因为Tomcat 技术先进、性能稳定,成为目前比较流行的Web 应用服务器。Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展,但它是独立运行的。目前最新的版本为Tomcat 8.0.24 Released。

    Tomcat不是一个完整意义上的Jave EE服务器,它甚至都没有提供对哪怕是一个主要Java EE API的实现;但由于遵守apache开源协议,tomcat却又为众多的java应用程序服务器嵌入自己的产品中构建商业的java应用程序服务器,如JBoss和JOnAS。尽管Tomcat对Jave EE API的实现并不完整,然而很企业也在渐渐抛弃使用传统的Java EE技术(如EJB)转而采用一些开源组件来构建复杂的应用。这些开源组件如Structs、Spring和Hibernate,而Tomcat能够对这些组件实现完美的支持。

     

    Tomcat的架构:

    Tomcat 6支持Servlet 2.5和JSP 2.1的规范,它由一组嵌套的层次和组件组成,一般可分为以下四类:

    顶级组件:位于配置层次的顶级,并且彼此间有着严格的对应关系;

    连接器:连接客户端(可以是浏览器或Web服务器)请求至Servlet容器,

    容器:包含一组其它组件;

    被嵌套的组件:位于一个容器当中,但不能包含其它组件;

    各常见组件:

    1、服务器(server):Tomcat的一个实例,通常一个JVM只能包含一个Tomcat实例;因此,一台物理服务器上可以在启动多个JVM的情况下在每一个JVM中启动一个Tomcat实例,每个实例分属于一个独立的管理端口。这是一个顶级组件。

    2、服务(service):一个服务组件通常包含一个引擎和与此引擎相关联的一个或多个连接器。给服务命名可以方便管理员在日志文件中识别不同服务产生的日志。一个server可以包含多个service组件,但通常情下只为一个service指派一个server。

    连接器类组件:

    3、连接器(connectors):负责连接客户端(可以是浏览器或Web服务器)请求至Servlet容器内的Web应用程序,通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是HTTP协议的8080,管理员也可以根据自己的需要改变此端口。一个引擎可以配置多个连接器,但这些连接器必须使用不同的端口。默认的连接器是基于HTTP/1.1的Coyote。同时,Tomcat也支持AJP、JServ和JK2连接器。

    容器类组件:

    4、引擎(Engine):引擎通是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。

    5、主机(Host):主机组件类似于Apache中的虚拟主机,但在Tomcat中只支持基于FQDN的“虚拟主机”。一个引擎至少要包含一个主机组件。

    6、上下文(Context):Context组件是最内层次的组件,它表示Web应用程序本身。配置一个Context最主要的是指定Web应用程序的根目录,以便Servlet容器能够将用户请求发往正确的位置。Context组件也可包含自定义的错误页,以实现在用户访问发生错误时提供友好的提示信息。

    被嵌套类(nested)组件:

    这类组件通常包含于容器类组件中以提供具有管理功能的服务,它们不能包含其它组件,但有些却可以由不同层次的容器各自配置。

    7、阀门(Valve):用来拦截请求并在将其转至目标之前进行某种处理操作,类似于Servlet规范中定义的过滤器。Valve可以定义在任何容器类的组件中。Valve常被用来记录客户端请求、客户端IP地址和服务器等信息,这种处理技术通常被称作请求转储(request dumping)。请求转储valve记录请求客户端请求数据包中的HTTP首部信息和cookie信息文件中,响应转储valve则记录响应数据包首部信息和cookie信息至文件中。

    8、日志记录器(Logger):用于记录组件内部的状态信息,可被用于除Context之外的任何容器中。日志记录的功能可被继承,因此,一个引擎级别的Logger将会记录引擎内部所有组件相关的信息,除非某内部组件定义了自己的Logger组件。

    9、领域(Realm):用于用户的认证和授权;在配置一个应用程序时,管理员可以为每个资源或资源组定义角色及权限,而这些访问控制功能的生效需要通过Realm来实现。Realm的认证可以基于文本文件、数据库表、LDAP服务等来实现。Realm的效用会遍及整个引擎或顶级容器,因此,一个容器内的所有应用程序将共享用户资源。同时,Realm可以被其所在组件的子组件继承,也可以被子组件中定义的Realm所覆盖。

    引擎(Engine):引擎是指处理请求的Servlet引擎组件,即Catalina Servlet引擎,它从HTTPconnector接收请求并响应请求。它检查每一个请求的HTTP首部信息以辨别此请求应该发往哪个host或context,并将请求处理后的结果返回的相应的客户端。严格意义上来说,容器不必非得通过引擎来实现,它也可以是只是一个容器。如果Tomcat被配置成为独立服务器,默认引擎就是已经定义好的引擎。而如果Tomcat被配置为Apache Web服务器的提供Servlet功能的后端,默认引擎将被忽略,因为Web服务器自身就能确定将用户请求发往何处。一个引擎可以包含多个host组件。

    Tomcat连接器架构:

    基于Apache做为Tomcat前端的架构来讲,Apache通过mod_jk、mod_jk2或mod_proxy模块与后端的Tomcat进行数据交换。而对Tomcat来说,每个Web容器实例都有一个Java语言开发的连接器模块组件,在Tomcat6中,这个连接器是org.apache.catalina.Connector类。这个类的构造器可以构造两种类别的连接器:HTTP/1.1负责响应基于HTTP/HTTPS协议的请求,AJP/1.3负责响应基于AJP的请求。但可以简单地通过在server.xml配置文件中实现连接器的创建,但创建时所使用的类根据系统是支持APR(Apache Portable Runtime)而有所不同。

    APR是附加在提供了通用和标准API的操作系统之上一个通讯层的本地库的集合,它能够为使用了APR的应用程序在与Apache通信时提供较好伸缩能力时带去平衡效用。
    同时,需要说明的是,mod_jk2模块目前已经不再被支持了,mod_jk模块目前还apache被支持,但其项目活跃度已经大大降低。因此,目前更常用 的方式是使用mod_proxy模块。

    如果支持APR:

    如果不支持APR:

    连接器协议:

    Tomcat的Web服务器连接器支持两种协议:AJP和HTTP,它们均定义了以二进制格式在Web服务器和Tomcat之间进行数据传输,并提供相应的控制命令。

    AJP(Apache JServ Protocol)协议:目前正在使用的AJP协议的版本是通过JK和JK2连接器提供支持的AJP13,它基于二进制的格式在Web服务器和Tomcat之间传输数据,而此前的版本AJP10和AJP11则使用文本格式传输数据。

    HTTP协议:诚如其名称所表示,其是使用HTTP或HTTPS协议在Web服务器和Tomcat之间建立通信,此时,Tomcat就是一个完全功能的HTTP服务器,它需要监听在某端口上以接收来自于商前服务器的请求。

    二,安装Tomcat

    Tomcat的官方站点为http://tomcat.apache.org/,要安装Tomcat,首先需要安装JDK。

    以下安装平台为CentOS release 6.6 (Final) 32位平台上,JDK 版本为jdk-6u45-linux-i586-rpm.bin ,tomcat 使用 apache-tomcat-7.0.63.tar.gz。

    1,安装

    三,配置文件详解

    Tomcat的配置文件:

    Tomcat的配置文件默认存放在/usr/local/tomcat/conf目录中,主要有以下几个

    server.xml: Tomcat的主配置文件,包含Service, Connector, Engine, Realm, Valve, Hosts主组件的相关配置信息;

    web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的Web应用程序提供包括MIME映射等默认配置信息;

    tomcat-user.xml:Realm认证时用到的相关角色、用户和密码等信息;Tomcat自带的manager默认情况下会用到此文件;在Tomcat中添加/删除用户,为用户指定角色等将通过编辑此文件实现;

    catalina.policy:Java相关的安全策略配置文件,在系统资源级别上提供访问控制的能力;

    catalina.properties:Tomcat内部package的定义及访问相关的控制,也包括对通过类装载器装载的内容的控制;Tomcat6在启动时会事先读取此文件的相关设置;

    logging.properties: Tomcat6通过自己内部实现的JAVA日志记录器来记录操作相关的日志,此文件即为日志记录器相关的配置信息,可以用来定义日志记录的组件级别以及日志文件的存在位置等;

    context.xml:所有host的默认配置信息;

    Tomcat以面向对象的方式运行,它可以在运行时动态加载配置文件中定义的对象结构,这有点类似于apache的httpd模块的调用方式。server.xml中定义的每个主元素都会被创建为对象,并以某特定的层次结构将这些对象组织在一起。下面是个样样例配置:

    server.xml文件中可定义的元素非常多,包括Server, Service, Connector, Engine, Cluster, Host, Alias, Context, Realm, Valve, Manager, Listener, Resources, Resource, ResourceEnvRef, ResourceLink, WatchedResource, GlobalNameingResources, Store, Transaction, Channel, Membership, Transport, Member, ClusterListener等。

    下面简单介绍几个常用组件:

    1、Server组件

    如上面示例文件中定义的:

    <Server port=”8005” shutdown=”SHUTDOWN”>

    这会让Tomcat6启动一个server实例(即一个JVM),它监听在8005端口以接收shutdown命令,使用 telnet 连接8005 端口可以直接执行 SHUTDOWN 命令来关闭 Tomcat。各Server的定义不能使用同一个端口,这意味着如果在同一个物理机上启动了多个Server实例,必须配置它们使用不同的端口。这个端口的定义用于为管理员提供一个关闭此实例的便捷途径,因此,管理员可以直接telnet至此端口使用SHUTDOWN命令关闭此实例。不过,基于安全角度的考虑,这通常不允许远程进行。

    Server的相关属性:

    className: 用于实现此Server容器的完全限定类的名称,默认为org.apache.catalina.core.StandardServer;

    port: 接收shutdown指令的端口,默认仅允许通过本机访问,默认为8005;

    shutdown:发往此Server用于实现关闭tomcat实例的命令字符串,默认为SHUTDOWN;

    2Service组件:

    Service主要用于关联一个引擎和与此引擎相关的连接器,每个连接器通过一个特定的端口和协议接收入站请求交将其转发至关联的引擎进行处理。困此,Service要包含一个引擎、一个或多个连接器。

    如上面示例中的定义:

    <Service name=”Catalina”>

    这定义了一个名为Catalina的Service,此名字也会在产生相关的日志信息时记录在日志文件当中。

    Service相关的属性:

    className: 用于实现service的类名,一般都是org.apache.catalina.core.StandardService。

    name:此服务的名称,默认为Catalina;

    3Connector组件:

    进入Tomcat的请求可以根据Tomcat的工作模式分为如下两类:

    Tomcat作为应用程序服务器:请求来自于前端的web服务器,这可能是Apache, IISNginx等;

    Tomcat作为独立服务器:请求来自于web浏览器;

    Tomcat应该考虑工作情形并为相应情形下的请求分别定义好需要的连接器才能正确接收来自于客户端的请求。一个引擎可以有一个或多个连接器,以适应多种请求方式。

    定义连接器可以使用多种属性,有些属性也只适用于某特定的连接器类型。一般说来,常见于server.xml中的连接器类型通常有4种:

    1) HTTP连接器 2) SSL连接器 3) AJP 1.3连接器 4) proxy连接器

    如上面示例server.xml中定义的HTTP连接器:

    <Connector port=”8080″ protocol=”HTTP/1.1″
    maxThreads=”150″ connectionTimeout=”20000″
    redirectPort=”8443″/>

    定义连接器时可以配置的属性非常多,但通常定义HTTP连接器时必须定义的属性只有“port“,定义AJP连接器时必须定义的属性只有”protocol”,因为默认的协议为HTTP。以下为常用属性的说明:

    下面是一个定义了多个属性的SSL连接器:

    <Connector port=”8443″
    maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″
    enableLookups=”false” acceptCount=”100″ debug=”0″ scheme=”https” secure=”true”
    clientAuth=”false” sslProtocol=”TLS” />

    4Engine组件:

    Engine是Servlet处理器的一个实例,即servlet引擎,默认为定义在server.xml中的Catalina。Engine需要defaultHost属性来为其定义一个接收所有发往非明确定义虚拟主机的请求的host组件。如前面示例中定义的:

    <Engine name=”Catalina” defaultHost=”localhost”>

    常用的属性定义:

    defaultHost:Tomcat支持基于FQDN的虚拟主机,这些虚拟主机可以通过在Engine容器中定义多个不同的Host组件来实现;但如果此引擎的连接器收到一个发往非非明确定义虚拟主机的请求时则需要将此请求发往一个默认的虚拟主机进行处理,因此,在Engine中定义的多个虚拟主机的主机名称中至少要有一个跟defaultHost定义的主机名称同名;

    name:Engine组件的名称,用于日志和错误信息记录时区别不同的引擎;

    Engine容器中可以包含Realm、Host、Listener和Valve子容器。

    5Host组件:

    位于Engine容器中用于接收请求并进行相应处理的主机或虚拟主机,如前面示例中的定义:

    <Host name=”localhost” appBase=”webapps”
    unpackWARs=”true” autoDeploy=”true”
    xmlValidation=”false” xmlNamespaceAware=”false”>
    </Host>

    常用属性说明:

    虚拟主机定义示例:

    <Engine name=”Catalina” defaultHost=”localhost”>
    <Host name=”localhost” appBase=”webapps”>
    <Context path=”” docBase=”ROOT”/>
    <Context path=”/bbs” docBase=”/web/bss”  #path路径是定义在defaultHost背后的
    reloadable=”true” crossContext=”true”/>
    </Host>

    <Host name=”mail.magedu.com” appBase=”/web/mail”>
    <Context path=”” docBase=”ROOT”/>
    </Host>
    </Engine>

    主机别名定义:

    如果一个主机有两个或两个以上的主机名,额外的名称均可以以别名的形式进行定义,如下:
    <Host name=”www.ttlsa.com” appBase=”webapps” unpackWARs=”true”>
    <Alias>feiyu.com</Alias>
    </Host>

    6Context组件:

    Context在某些意义上类似于apache中的路径别名,一个Context定义用于标识tomcat实例中的一个Web应用程序;如下面的定义:

    <!– Tomcat Root Context –>
    <Context path=”” docBase=”/web/webapps”/>

    <!– buzzin webapp –>
    <Context path=”/bbs”
    docBase=”/web/threads/bbs”
    reloadable=”true”>
    </Context>

    <!– chat server –>
    <Context path=”/chat” docBase=”/web/chat”/>

    <!– darian web –>
    <Context path=”/darian” docBase=”darian”/>

    在Tomcat6中,每一个context定义也可以使用一个单独的XML文件进行,其文件的目录为$CATALINA_HOME/conf//。可以用于Context中的XML元素有Loader,Manager,Realm,Resources和WatchedResource。

    常用的属性定义有:

    7Realm组件:

    一个Realm表示一个安全上下文,它是一个授权访问某个给定Context的用户列表和某用户所允许切换的角色相关定义的列表。因此,Realm就像是一个用户和组相关的数据库。定义Realm时惟一必须要提供的属性是classname,它是Realm的多个不同实现,用于表示此Realm认证的用户及角色等认证信息的存放位置。

    下面是一个常见的使用UserDatabase的配置:

    <Realm className=”org.apache.catalina.realm.UserDatabaseRealm”
    resourceName=”UserDatabase”/>

    下面是一个使用JDBC方式获取用户认证信息的配置:

    <Realm className=”org.apache.catalina.realm.JDBCRealm” debug=”99″
    driverName=”org.gjt.mm.mysql.Driver”
    connectionURL=”jdbc:mysql://localhost/authority”
    connectionName=”test” connectionPassword=”test”
    userTable=”users” userNameCol=”user_name”
    userCredCol=”user_pass”
    userRoleTable=”user_roles” roleNameCol=”role_name” />

    8Valve组件:

    Valve类似于过滤器,它可以工作于Engine和Host/Context之间、Host和Context之间以及Context和Web应用程序的某资源之间。一个容器内可以建立多个Valve,而且Valve定义的次序也决定了它们生效的次序。Tomcat6中实现了多种不同的Valve:

    RemoteHostValve和RemoteAddrValve可以分别用来实现基于主机名称和基于IP地址的访问控制,控制本身可以通过allow或deny来进行定义,这有点类似于Apache的访问控制功能;如下面的Valve则实现了仅允许本机访问/probe:

    <Context path=”/probe” docBase=”probe”>
    <Valve className=”org.apache.catalina.valves.RemoteAddrValve”
    allow=”127\.0\.0\.1″/>
    </Context>

    其中相关属性定义有:

    1) className:相关的java实现的类名,相应于分别应该为org.apache.catalina.valves.RemoteHostValve或org.apache.catalina.valves.RemoteAddrValve;

    2) allow:以逗号分开的允许访问的IP地址列表,支持正则表达式,因此,点号“.”用于IP地址时需要转义;仅定义allow项时,非明确allow的地址均被deny;

    3) deny: 以逗号分开的禁止访问的IP地址列表,支持正则表达式;使用方式同allow;

    9GlobalNamingResources

    应用于整个服务器的JNDI映射,此可以避免每个Web应用程序都需要在各自的web.xml创建,这在web应用程序以WAR的形式存在时尤为有用。它通常可以包含三个子元素:Environment,Resource、ResourceEnvRef。

    10WatchedResource

    WatchedResource可以用于Context中监视指定的webapp程序文件的改变,并且能够在监视到文件内容发生改变时重新装载此文件。

    11Listener

    Listener用于创建和配置LifecycleListener对象,而LifecycleListener通常被开发人员用来创建和删除容器。

    12Loader

    Java的动态装载功能是其语言功能强大表现之一,Servlet容器使用此功能在运行时动态装载servlet和它们所依赖的类。Loader可以用于Context中控制java类的加载。

    13Manager

    Manger对象用于实现HTTP会话管理的功能,Tomcat6中有5种Manger的实现:

    1) StandardManager

    Tomcat6的默认会话管理器,用于非集群环境中对单个处于运行状态的Tomcat实例会话进行管理。当Tomcat关闭时,这些会话相关的数据会被写入磁盘上的一个名叫SESSION.ser的文件,并在Tomcat下次启动时读取此文件。

    2) PersistentManager

    当一个会话长时间处于空闲状态时会被写入到swap会话对象,这对于内存资源比较吃紧的应用环境来说比较有用。

    3)DeltaManager

    用于Tomcat集群的会话管理器,它通过将改变了会话数据同步给集群中的其它节点实现会话复制。这种实现会将所有会话的改变同步给集群中的每一个节点,也是在集群环境中用得最多的一种实现方式。

    4)BackupManager

    用于Tomcat集群的会话管理器,与DeltaManager不同的是,某节点会话的改变只会同步给集群中的另一个而非所有节点。

    5)SimpleTcpReplicationManager

    Tomcat4时用到的版本,过于老旧了。

    14Stores

    PersistentManager必须包含一个Store元素以指定将会话数据存储至何处。这通常有两种实现方式:FileStore和JDBCStore。

    15Resources

    经常用于实现在Context中指定需要装载的但不在Tomcat本地磁盘上的应用资源,如Java类,HTML页面,JSP文件等。

    16Cluster

    专用于配置Tomcat集群的元素,可用于Engine和Host容器中。在用于Engine容器中时,Engine中的所有Host均支持集群功能。在Cluster元素中,需要直接定义一个Manager元素,这个Manager元素有一个其值为org.apache.catalina.ha.session.DeltaManager或org.apache.catalina.ha.session.BackupManager的className属性。同时,Cluster中还需要分别定义一个Channel和ClusterListener元素。

    16.1、Channel

    用于Cluster中给集群中同一组中的节点定义通信“信道”。Channel中需要至少定义Membership、Receiver和Sender三个元素,此外还有一个可选元素Interceptor。

    16.2、Membership

    用于Channel中配置同一通信信道上节点集群组中的成员情况,即监控加入当前集群组中的节点并在各节点间传递心跳信息,而且可以在接收不到某成员的心跳信息时将其从集群节点中移除。Tomcat6中Membership的实现是org.apache.catalina.tribes.membership.McastService。

    16.3、Sender

    用于Channel中配置“复制信息”的发送器,实现发送需要同步给其它节点的数据至集群中的其它节点。发送器不需要属性的定义,但可以在其内部定义一个Transport元素。

    16.4 Transport

    用于Sender内部,配置数据如何发送至集群中的其它节点。Tomcat6有两种Transport的实现:

    1) PooledMultiSender

    基于Java阻塞式IO,可以将一次将多个信息并发发送至其它节点,但一次只能传送给一个节点。

    2)PooledParallelSener

    基于Java非阻塞式IO,即NIO,可以一次发送多个信息至一个或多个节点。

    16.5 Receiver

    用于Channel定义某节点如何从其它节点的Sender接收复制数据,Tomcat6中实现的接收方式有两种BioReceiver和NioReceiver。

     web.xml文件

    web.xml基于Java Servlet规范,可被用于每一个Java servlet容器,通常有两个存放位置,$CATALINA_BASE/conf和每个Web应用程序(通常是WEB-INF/web.xml)。Tomcat在deploy一个应用程序时(包括重启或重新载入),它首先读取conf/web.xml,而后读取WEB-INF/web.xml。

    Tomcat 的配置层次,各组件之间的关系

    <server>
    <service>
    <connector /> 简单组件,不需要封装
    <engine>
    <host>
    <context>
    </context>
    </host>
    <host>
    </host>
    </engine>
    </service>
    </server>

    顶级组件:位于整个配置的顶层;<server>

    容器类:可以包含其它组件的组件;<service>

    连接器组件:连接用户请求至tomcat;<connector />

    被嵌套类的组件:位于一个容器当中,不能包含其它组件;

    容器类:

    engine: 核心容器,catalina引擎,负责通过connector接收用户请求

    host: 类似于httpd中的虚拟主机;支持基于FQDN的虚拟主机

    context: 最内层的容器类组件,一个context代表一个web应用程序;配置context的主要目的,指定对应的webapp的根目录;还能为webapp指定额外的属性,如部署方式等;

    服务:service, 将连接器关联至engine;因此一个service内部可以有多个connector,但只能有一个engine;

    顶级组件:server,表示一个运行于JVM中的tomcat实例;

    嵌套类组件:

    valve: 拦截请求并在将其转至对应的webapp之前进行某种处理操作;可以用于任何容器中;

    access log valve: 响应前先记录日志

    remote address filter value: 基于IP做访问控制

    logger: 日志记录器,用于记录组件 内部的状态信息;

    可用于除context之外的任何容器中

    realm: 可以用于任何容器类的组件中,关联一个用户认证库,实现认证和授权;

    UserDatabaseRealm: 使用JNDI自定义的用户认证库;

    MemoryRealm: tomcat-users.xml中

    JDBCRealm: 基于JDBC连接至数据库中查找用户;

    webapp体系结构:

    webapp有特定的组织格式,是一种层次型目录结构;通常包含了servlet代码文件、jsp页面文件、类文件、部署描述符文件等等,一般会打包成归档格式;

    /: web应用程序的根目录 ,ROOT为根目录

    /WEB-INF: 包含当前webapp的deploy描述符,如所有的servlets和JSP等动态文件的详细信息,会话超时时间和数据源等;因此,其也通常用于定义当前webapp特有的资源,通常web.xml和context.xml均放置于此目录;

    /WEB-INF/classes: 包含所有服务器端类及当前应用程序相关的其它第三方类等;;

    /WEB-INF/lib: 包含JSP所用到的JAR文件,此webapp自有能够被打包为jar格式的类;

    Tomcat的连接器分为两类:HTTP连接器和Web服务器连接器。

    Tomcat的HTTP连接器有三种:

    1) 基于java的HTTP/1.1连接器,这也是Tomcat6默认使用的连接器,即Coyote;它是Tomcat作为standalone模式工作时所用到的连接器,可直接响应来自用户浏览器的关于JSP、servlet和HTML的请求;此连接器是一个Java类,定义在server.xml当中,默认使用8080端口;

    2) Java开发的高性能NIO HTTP/1.1连接器,它支持非阻塞式IO和Comnet,在基于库向tomcat发起请求时,此连接器表现不俗;但其实现不太成熟,有严重bug存在;

    3) C/C++开发的native APR HTTP/1.1连接器;在负载较大的场景中,此连接器可以提供非常好的性能;APR即Apache Portable Runtime,它是一个能让开发者采用与平台无关的风格的方式来开发C/C++代码本地库,它能够很好的跨Windows, Linux和Unix平台工作。此连接器从三个主要方面优化了系统性能并提升了系统的伸缩能力:

    (1)使用sendfile()内核模式调用发送大的静态文件;

    (2) 仅使用一个native code保持大量的连接;

    (3) 使用能够加速SSL请求处理的OpenSSL本地代码;

    启用APR连接器的条件:

    1) 将连接器的protocol属性设定为org.apache.coyote.http11.Http11AprProtocol,即 2) APR的库文件已经在系统库文件的搜索路径内,必须额外编译安装apr;

    基于连接器提高Tomcat性能的方法:

    1) 设置tcpNoDelay属性值为“true”;

    2) 通过maxKeepAliveRequest属性调整允许keep-alive功能的请求的最大数目,值为1时表示禁用;

    3) 调整socketBuffer属性的值以改变套接字缓冲的大小;

    4) 将enableLookups设置为false以禁用DNS反解;

    5) Tomcat是一个多线程的Servlet容器,使用线程池能对服务器性能带去很大影响;这主要通过maxThreads、maxSpareThreads和minSpareThreads来定义;

    6) 通过JAVA_OPTS,如-Xms和-Xmx设定JVM相关的参数以定义其使用内存的能力;

    AJP(Apache JServ Protocol)连接器 :AJP是面向数据包的基于TCP/IP的协议,它在Apache和Tomcat的实例之间提供了一个专用的通信信道。目前常用AJP协议的版本是1.3,它主要有以下特征:

    1) 在快速网络有着较好的性能表现,支持数据压缩传输;

    2) 支持SSL,加密及客户端证书;

    3) 支持Tomcat实例集群;

    4) 支持在apache和tomcat之间的连接的重用;

    四,配置Tomcat

    定义虚拟主机,将虚拟主机定义在/www/webapps 下,在配置文件中的 Engine 组件中添加:

    <Host name=”ttlsa.com” appBase=”/www/webapps”
    unpackWARs=”true” autoDeploy=”true”>
    <Context path=”” docBases=”” />
    <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
    prefix=”ttlsa_access_log.” suffix=”.txt”
    pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
    </Host>

    注释掉上面的虚拟主机,修改server.xml,作如下修改,在/webapps/目录下创建test目录,并添加测试页面index.jsp:

    <Host name=”buy.ttlsa.com” appBase=”webapps”
    unpackWARs=”true” autoDeploy=”true”>
    <Context path=”” docBase=”test” reloadable=”true” />

    <Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”logs”
    prefix=”buy_access_log.” suffix=”.txt”
    pattern=”%h %l %u %t &quot;%r&quot; %s %b” />
    </Host>

    展开全文
  • Tomcat8安装及配置步骤

    万次阅读 多人点赞 2018-07-04 23:40:54
    1.下载tomcat8 ,官网地址:http://tomcat.apache.org/...解压缩apache-tomcat-8.5.11-windows-x64.zip到D盘3.环境变量配置:(请先看文章结尾)3.1 系统变量 ,新增 CATALINA_HOME,地址就是刚才文件夹 ,不需要带/bin3.2...
  • tomcat安装&启动乱码

    2020-08-08 20:28:44
    tomcat安装(配套JDK1.8版本) 步骤一: 下载tomcat:点击下载 步骤二: 解压至安装目录,我解压到了D盘(大家可以自行选择解压位置,解压到哪都行),如图所示: 步骤三: 配置环境变量(照着图片操作...
  • Tomcat 启动乱码设置

    2019-07-25 20:51:51
    tomcat 服务器乱码的问题简直了。。。乱码引起的问题各种各样,每个问题解决的关键点的不一样。... 具体是在tomcat安装目录-->conf -->server.xml 里面找到Connector 默认是没有URIEncodeing的。...
  • tomcat启动web项目时出现乱码

    千次阅读 2019-04-22 11:25:15
    在启动web项目时出现乱码: 22-Apr-2019 11:11:35.376 淇℃伅 [main] org.apache.catalina.startup....鏈嶅姟鍣ㄧ増鏈�: Apache Tomcat/9.0.14 22-Apr-2019 11:11:35.381 淇℃伅 [main] org.apache.c...
  • 步骤一:下载Tomcat 链接如下:https://tomcat.apache.org/ 红框是下载 选择自己的操作系统 注意:要根据自己的JDK版本选择Tomcat的版本。 因本人java版本为15.0.2,故选择Tomcat9.0.31版本(Windows请自行选择64...
  • 一、前言 虽然即使不更改,也不影响使用,但是作为一个追求完美的...二、idea 中配置 Tomcat 后启动服务,输出打印日志乱码问题 解决办法: ①、打开安装idea文件路径,在bin目录下,找到下面两个文件 ...
  • 请先配置安装好Java的环境,若没有安装,请参照我博客上的步骤进行安装安装Java环境教程https://blog.csdn.net/qq_40881680/article/details/83585542 Tomcat部署Web项目(一)·内嵌...
  • tomcat安装与配置

    万次阅读 多人点赞 2017-11-20 11:22:22
    想用Tomcat作为服务器,必须分以下两步。首先要配置好JDK的环境变量,再去下载Tomcat的压缩包。 一,下载、安装JDK,并且配置好环境变量。 1,下载地址: ...2,先接受协议,再根据自己的电脑下载
  • Tomcat安装及配置教程

    万次阅读 多人点赞 2019-01-13 18:21:36
    Tomcat安装及配置教程 1.Tomcat Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应 (response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以...
  • WIN10下 Tomcat安装及配置教程

    万次阅读 多人点赞 2020-09-11 09:20:44
    目录 工具/原料 方法/步骤 注意事项 工具/原料 1,JDK:版本为jdk1.8 我的下载文件里有,解压缩版的 2,tomcat:版本为apache-tomcat-8.0.53-windows-x64.zip ...一、安装JDK和Tomcat 1,安装JDK:解压即可,...
  • Linux tomcat安装详解

    万次阅读 2020-09-10 20:22:01
    欢迎访问我的个人博客网站:...一、tomcat安装 1、下载JDK和Tomcat//通过wget下载 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gz wget http://download.ora
  • Apache Tomcat 安装配置图文详细教程

    万次阅读 多人点赞 2018-07-14 17:52:29
    二、安装Tomcat(提前请先安装JDK)1.下载好压缩包后,直接解压至某一目录下,目录中不能包含中文。解压后如图所示:2.将此文件夹拷贝到你常用的根目录下。这样就算安装好了!3.接下来开始配置环境变量,打开环境变量...
  • TOMCAT安装成windows服务

    万次阅读 2020-06-24 16:52:52
    网上很多例子都是采用双击bin目录下的startup.bat来启动,这样的方式存在很大的弊端,一旦不小心关掉窗口或者电脑重启,那么tomcat就会关闭,接下来我们就得花时间去管理,很麻烦。 安装流程 1、首先...
  • Linux查看tomcat安装路径

    万次阅读 热门讨论 2018-07-04 16:18:53
    查看tomcat安装路径#查看tomcat安装路径 sudo find / -name *tomcat*
  • 非常详细图文JDK和Tomcat安装和配置的图文教程

    万次阅读 多人点赞 2017-10-15 23:59:18
    想用Tomcat作为服务器,必须分以下两步。一,下载、安装JDK,并且配置好环境变量。 1,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2,先接受协议,再根据...
  • Tomcat安装SSL证书

    万次阅读 热门讨论 2019-11-29 20:05:24
    前两天看到一篇文章,介绍了两个申请SSL证书的网站,具体是哪两个网站已经不记得了,只记得一个要钱,一个免费。 于是我就萌发了给自己的网站加装个SSL证书的念头,正好26号晚上的时候有兴致,也有点时间,就开始...
1 2 3 4 5 ... 20
收藏数 273,160
精华内容 109,264
关键字:

tomcat安装