欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Tomcat基本配置详解

程序员文章站 2024-02-19 14:03:24
...

Tomcat基本配置详解

1、Tomcat的启动与关闭

​ Tomcat是基于Java开发的,所以在运行Tomcat是必须配置了jre

(1)启动

在Tomcat的bin目录下startup.bat(windows下的)/startup.sh(Linux下的)脚本文件双击即可启动Tomcat。推荐使用cmd命令的形式运行这个脚本文件。

(2)关闭

在Tomcat的bin目录下shutdown.bat(windows下的)/shutdown.sh(Linux下的)脚本文件双击即可关闭Tomcat。推荐使用cmd命令的形式运行这个脚本文件。

2、Tomcat的基本配置

Tomcat的一些主要配置是在conf目录下的server.xml文件下进行的。

1.元素

代表整个容器,是Tomcat实例的顶层元素.由org.apache.catalina.Server接口来定义,包含一个或多个元素。

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

port:指定Tomcat监听shutdown命令端口.终止服务器运行时,必须在Tomcat服务器所在的机器上发出shutdown命令.该属性必须设置。

shutdown:指定终止Tomcat服务器运行时,发给Tomcat服务器的shutdown监听端口的字符串.该属性必须设置 。

2.元素

包含一个元素,以及一个或多个元素,这些元素共享同一个元素。

3.元素

接收客户端连接请求,创建Request和Response对象用于和请求端交换数据,然后分配线程让Engine来处理这个请求,并把产生的Request和Response对象传给Engine,通过配置Connector,可以控制请求Service的协议及端口号。

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

port:服务端监听的端口号,即客户请求的端口号;

protocol:规定了请求协议;

redirectPort:表示当请求是https时,重定向至端口号为8443的Connector;

connectionTimeout:表示连接的超时时间,单位毫秒;

minSpareThreads:表示Connector最小等待客户请求的线程数,每个请求由一个线程负责,默认10;

maxThreads:表示此连接器要创建的请求处理线程的最大数量,即可以处理的最大并发请求数,默认200;

maxConnections:表示服务器在任何给定时间接受和处理的最大连接数。当达到这个数字时,客户端请求会被放到请求队列,默认最大队列数为acceptCount参数值,BIO模式下默认为maxThreads,NIO模式下默认10000;

acceptCount:maxConnections达到最大值即所有请求线程正在使用时,传入连接请求的最大队列长度, 当队列满时收到的任何请求都将被拒绝, 默认值为100。

maxHeaderCount:允许的请求中的最大header数。 包含比指定限制更多的header的请求将被拒绝。 小于0表示无限制,默认值100。

4.元素

Engine组件在Service组件中有且只有一个,Engine是Service组件中的请求处理组件,Engine组件从一个或多个Connector中接收请求并处理,并将完成的响应返回给Connector,最终传递给客户端。

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

name:属性用于日志和错误信息,在整个Server中应该唯一。

defaultHost:属性指定了默认的host名称,当发往本机的请求指定的host名称不存在时,一律使用defaultHost指定的host进行处理,因此defaultHost的值,必须与Engine中的一个Host组件的name属性值匹配。

5.元素

Engine元素至少包含一个或多个Host元素.每个Host元素定义了一个虚拟主机,它可以包含一个或多个Web应用,其中一个Host的name必须与Engine组件的defaultHost属性相匹配。

<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">

name:虚拟主机的名字。

appBase:指定虚拟主机的目录,可以指定绝对目录,也可以指定相对于<CATALINA_HOME>的相对目录, 如果此项没有设定,默认值为<CATALINA_HOME>/webapps。

unpackWARs:如果此项设为true,表示将把Web应用的war文件先解压为开放目录结构后再运行.如果设为false,将直接运行war文件。

autoDeploy:如果此项设为true,表示当Tomcat服务器处于运行状态时,能够监测appBase下的文件,如果有新的Web应用加入进来,会自动发布这个Web应用。

另,在元素中可以包含如下的子元素: ,,,。

6.元素

每个Context元素代表了运行在虚拟主机上的单个Web应用,一个元素中可以包含多个元素。

<Context path="/sample" docBase="sample" debug="0" reloadable="true">  

path:指定访问该Web应用的URL入口。

docBase:指定Web应用的文件路径,可以为绝对路径,也可以为相对于Host的appBase属性的相对路径,如果Web应用采用开放目录结构,那就指定Web应用的根目录;如果Web应用是个WAR文件,那就指定WAR文件的路径。

reloadable:如果这个属性设为true,Tomcat服务器在运行状态下会监视在WEB-INF/class和WEB-INF/lib目录下CLASS文件的改动,如果检测到有calss文件被更新,服务器会自动重新加载Web应用。

3.Tomcat日志目录

在Tomcat安装目录的logs文件下catalina.xxx.log文件中。在其中我们可以查看Tomcat的一些错误日志、启动日志等。

4.webapps目录

在Tomcat中将与需要部署的项目放入到webapps,其中也包含着一些Tomcat自带的一些项目目录,为我们提供参考。默认访问的是ROOT项目下的,如果将项目放入到webapps目录中根据项目的上下文就可以直接访问项目了。与sever.xml配置的Context标签有着相同的目的,只是实现的方式不同。

相关标签: tomcat