Tomcat 服务器配置

这篇具有很好参考价值的文章主要介绍了Tomcat 服务器配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

           

目录

一:server.xml  

1.Server 

2.Service

3 .Executo

4 .Connector

完整的配置如下:

5.Engine

6 .Host

7.Context

二:tomcat-users.xml


     
       Tomcat 服务器的配置主要集中于 tomcat/conf 下的 catalina.policy 、 catalina.properties、 context.xml server.xml tomcat-users.xml web.xml 文件。

一:server.xml  

        server.xml tomcat 服务器的核心配置文件,包含了 Tomcat Servlet 容器 (Catalina )的所有配置。由于配置的属性特别多,我们在这里主要讲解其中的一部分重要配置。

1.Server 

             Server server.xml 的根元素,用于创建一个 Server 实例,默认使用的实现类是org.apache.catalina.core.StandardServer。
<Server port="8005" shutdown="SHUTDOWN">
...
</Server>
port : Tomcat 监听的关闭服务器的端口。
shutdown : 关闭服务器的指令字符串。
Server 内嵌的子元素为 Listener GlobalNamingResources Service
默认配置的 5 Listener 的含义:
<!‐‐ 用于以日志形式输出服务器 、操作系统、JVM的版本信息 ‐‐>
<Listener className="org.apache.catalina.startup.VersionLoggerListener"
/>
<!‐‐ 用于加载(服务器启动) 和 销毁 (服务器停止) APR。 如果找不到APR库, 则会
输出日志, 并不影响Tomcat启动 ‐‐>
<Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
<!‐‐ 用于避免JRE内存泄漏问题 ‐‐>
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<!‐‐ 用户加载(服务器启动) 和 销毁(服务器停止) 全局命名服务 ‐‐>
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
/>
<!‐‐ 用于在Context停止时重建Executor 池中的线程, 以避免ThreadLocal 相关的内
存泄漏 ‐‐>
<Listener
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
GlobalNamingResources 中定义了全局命名服务:
<!‐‐ Global JNDI resources
Documentation at /docs/jndi‐resources‐howto.html
‐‐>
<GlobalNamingResources>
<!‐‐ Editable user database that can also be used by
UserDatabaseRealm to authenticate users
‐‐>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat‐users.xml" />
</GlobalNamingResources>

2.Service

            该元素用于创建 Service 实例,默认使用 org.apache.catalina.core.StandardService 。默认情况下,Tomcat 仅指定了 Service 的名称, 值为 "Catalina" Service 可以内嵌的 元素为 :Listener Executor Connector Engine ,其中 : Listener 用于为 Service 添加生命周期监听器, Executor 用于配置 Service 共享线程池, Connector 用于配置 Service 包含的链接器, Engine 用于配置 Service 中链接器对应的 Servlet 容器引擎。
<Service name="Catalina">
...
</Service>
一个 Server 服务器,可以包含多个 Service 服务。

3 .Executo

            默认情况下, Service 并未添加共享线程池配置。 如果我们想添加一个线程池, 可以在下添加如下配置:
<Executor name="tomcatThreadPool"
namePrefix="catalina‐exec‐"
maxThreads="200"
minSpareThreads="100"
maxIdleTime="60000"
maxQueueSize="Integer.MAX_VALUE"
prestartminSpareThreads="false"
threadPriority="5"
className="org.apache.catalina.core.StandardThreadExecutor"/>
属性说明:
tomcat配置,Tomcat,tomcat,服务器,架构,后端,java

tomcat配置,Tomcat,tomcat,服务器,架构,后端,java

如果不配置共享线程池,那么Catalina 各组件在用到线程池时会独立创建。  文章来源地址https://www.toymoban.com/news/detail-680360.html

 

4 .Connector

            Connector 用于创建链接器实例。默认情况下, server.xml 配置了两个链接器,一个支持HTTP 协议,一个支持 AJP 协议。因此大多数情况下,我们并不需要新增链接器配置,只是根据需要对已有链接器进行优化。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
属性说明:
1 port : 端口号, Connector 用于创建服务端 Socket 并进行监听, 以等待客户端请求 链接。如果该属性设置为0 Tomcat 将会随机选择一个可用的端口号给当前 Connector使用。
2 protocol : 当前 Connector 支持的访问协议。 默认为 HTTP/1.1 , 并采用自动切换机制选择一个基于 JAVA NIO 的链接器或者基于本地 APR 的链接器(根据本地是否含有Tomcat的本地库判定)。如果不希望采用上述自动切换的机制, 而是明确指定协议, 可以使用以下值。
Http 协议:
org.apache.coyote.http11.Http11NioProtocol , 非阻塞式 Java NIO 链接器
org.apache.coyote.http11.Http11Nio2Protocol , 非阻塞式 JAVA NIO2 链接器
org.apache.coyote.http11.Http11AprProtocol , APR 链接器
AJP 协议 :
org.apache.coyote.ajp.AjpNioProtocol , 非阻塞式 Java NIO 链接器
org.apache.coyote.ajp.AjpNio2Protocol ,非阻塞式 JAVA NIO2 链接器
org.apache.coyote.ajp.AjpAprProtocol APR 链接器
3 connectionTimeOut : Connector 接收链接后的等待超时时间, 单位为 毫秒。 -1 表示不超时。
4 redirectPort :当前 Connector 不支持 SSL 请求, 接收到了一个请求, 并且也符合 security-constraint 约束, 需要 SSL 传输, Catalina 自动将请求重定向到指定的端口。
5 executor : 指定共享线程池的名称, 也可以通过 maxThreads minSpareThreads等属性配置内部线程池。
6 URIEncoding : 用于指定编码 URI 的字符编码, Tomcat8.x 版本默认的编码为 UTF-8 , Tomcat7.x版本默认为 ISO-8859-1

完整的配置如下:

<Connector port="8080"
protocol="HTTP/1.1"
executor="tomcatThreadPool"
maxThreads="1000"
minSpareThreads="100"
acceptCount="1000"
maxConnections="1000"
connectionTimeout="20000"
compression="on"
compressionMinSize="2048"
disableUploadTimeout="true"
redirectPort="8443"
URIEncoding="UTF‐8" />

5.Engine

          Engine 作为 Servlet 引擎的顶级元素,内部可以嵌入: Cluster Listener Realm 、 Valve和 Host
<Engine name="Catalina" defaultHost="localhost">
...
</Engine>
属性说明:
1 name : 用于指定 Engine 的名称, 默认为 Catalina 。该名称会影响一部分 Tomcat
存储路径(如临时文件)。
2 defaultHost : 默认使用的虚拟主机名称, 当客户端请求指向的主机无效时, 将交
由默认的虚拟主机处理, 默认为 localhost

6 .Host

            Host 元素用于配置一个虚拟主机, 它支持以下嵌入元素: Alias Cluster Listener 、 Valve、 Realm Context 。如果在 Engine 下配置 Realm , 那么此配置将在当前 Engine 下 的所有Host 中共享。 同样,如果在 Host 中配置 Realm , 则在当前 Host 下的所有 Context 中共享。Context 中的 Realm 优先级 > Host Realm 优先级 > Engine 中的 Realm 优先级。
<Host name="localhost" appBase="webapps" unpackWARs="true"
autoDeploy="true">
...
</Host>
属性说明:
1 name: 当前 Host 通用的网络名称, 必须与 DNS 服务器上的注册信息一致。 Engine
包含的 Host 必须存在一个名称与 Engine defaultHost 设置一致。
2 appBase : 当前 Host 的应用基础目录, 当前 Host 上部署的 Web 应用均在该目录下
(可以是绝对目录,相对路径)。默认为 webapps
3 unpackWARs : 设置为 true Host 在启动时会将 appBase 目录下 war 包解压为目
录。设置为 false Host 将直接从 war 文件启动。
4 autoDeploy : 控制 tomcat 是否在运行时定期检测并自动部署新增或变更的 web
用。
通过给 Host 添加别名,我们可以实现同一个 Host 拥有多个网络名称,配置如下:
<Host name="www.web1.com" appBase="webapps" unpackWARs="true"
autoDeploy="true">
<Alias>www.web2.com</Alias>
</Host>
             这个时候,我们就可以通过两个域名访问当前 Host 下的应用(需要确保 DNS hosts 中添
加了域名的映射配置)。

7.Context

Context 用于配置一个 Web 应用,默认的配置如下:
<Context docBase="myApp" path="/myApp">
....
</Context>
属性描述:
1 docBase Web 应用目录或者 War 包的部署路径。可以是绝对路径,也可以是相对于
Host appBase 的相对路径。
2 path Web 应用的 Context 路径。如果我们 Host 名为 localhost , 则该 web 应用访问
的根路径为: http://localhost:8080/myApp
它支持的内嵌元素为: CookieProcessor Loader Manager Realm Resources
WatchedResource JarScanner Valve
<Host name="www.tomcat.com" appBase="webapps" unpackWARs="true"
autoDeploy="true">
<Context docBase="D:\servlet_project03" path="/myApp"></Context>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

二:tomcat-users.xml

           该配置文件中,主要配置的是 Tomcat 的用户,角色等信息,用来控制 Tomcat 中 manager, host-manager 的访问权限。

到了这里,关于Tomcat 服务器配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Myeclipse配置tomcat服务器

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 ✨特色专栏:国学周更-心性养成之路 🥭本文内容:Myeclipse配置tomcat服务器 更多内容点击👇        正则表达式(常用最新

    2024年02月04日
    浏览(29)
  • Idea配置Tomcat服务器

    首先新建一个Java项目   此时只是新建了一个Java项目,还不能用于写JavaWeb程序,所以接下来需要添加Web框架,并 配置Tomact服务器 右键点击项目Demo1,选择【添加框架支持】,然后再左侧中选择【Web应用程序】,点击确定   此时我们会看到左侧的项目栏中已经出现了web,这样

    2024年01月16日
    浏览(31)
  • Eclipse配置tomcat服务器

    2024年02月08日
    浏览(31)
  • Tomcat服务器下载安装及配置教程(IDEA中使用Tomcat)

    先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。 ①Tomcat是Apache 一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。 ②Tomcat 服务器是一个免费的开放源代码的Web轻量级应用服务器,是开发和调试JSP 程序的首选。 ③Tomcat 实际

    2024年02月09日
    浏览(35)
  • Tomcat配置报错:HTTP状态 500 - 内部服务器错误org.apache.jasper.JasperException: java.lang.ClassNotFoundException

    HTTP状态 500 - 内部服务器错误 类型 异常报告 消息 org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.index_jsp 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.j

    2024年02月07日
    浏览(56)
  • tomcat服务器统一配置错误页面

    问题:访问服务器出错时,可能页面会显示空白或者别的错误页面,这样的显示并不友好,所以我们要统一解决一下这样不友好的页面 解决方法 :将所有异常都抛出,最后抛给tomcat服务器进行统一的处理。 步骤一:编写服务器500错误或者404错误页面;例如:error404.jsp 步骤二

    2024年02月13日
    浏览(33)
  • Tomcat服务器配置里面各部分别动

         

    2024年02月13日
    浏览(25)
  • 服务器配置:阿里云服务器(Windows)的配置以及安装Tomcat连接服务器的教程

    4. 选择购买时长 (先选一个月试玩,之后还可以续费)。全部选择完毕后,我们就可以选择立即购买了。 5. 提交订单后完成支付 步骤略,但这里提醒自定义密码可以 创建后设置 。 二、远程主机配置成服务器教程 1. 购买完成后点击这里的ECS: 2. 进入后点击实例,看到远程连

    2024年04月27日
    浏览(51)
  • Mac OS配置Tomcat服务器教程

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。笔者最近在学习Java Web,Tomcat服务器是必须学习的一部分。 首先,打开Tomcat官网:https://tomcat.apache.or

    2024年02月07日
    浏览(75)
  • 36、springboot --- 对 tomcat服务器 和 undertow服务器 配置访客日志

    访客日志: Web服务器可以将所有访问用户的记录都以日志的形式记录下来,主要就是记录来自哪个IP的用户、在哪个时间点、访问了哪个资源。 pattern: %t 访问时间 %a 访问用户的ip “%r” 访问的方式和地址 %s 使用的协议 (%D ms) 访问后的响应 代码演示: 这是用 tomcat 来设置 访

    2024年02月10日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包