tomcat 配置(tomcat配置文件)

更新时间:2023-03-01 21:32:22 阅读: 评论:0

Tomcat虚拟主机配置

站点根目录为: c:\wwwroot
站点一目录为: c:\wwwroot\aaa , 域名为 www.aaa.com
站点二目录为: c:\wwwroot\bbb , 域名为 www.bbb.com
站点三目录为: c:\wwwroot\ccc , 域名为 www.ccc.com
Tomcat 配置文件为: tomcat路径/conf/rver.xml

站点根目录为: c:\wwwroot
站点一目录为: c:\wwwroot\aaa , 域名为 www.aaa.com
站点二目录为: c:\wwwroot\bbb , 域名为 www.bbb.com
Tomcat 配置文件为: tomcat路径/conf/rver.xml

注: 若需不同域名访问将 <Host name="localhost" appBa="c:\wwwroot" unpackWARs="true" autoDeploy="true"> name 字段改为对应域名即可,多个域名可在 Host 标签内添加一个或多个 <Alias>www.abc.com</Alias> 即可。其中 Connector port、defaultHost、Hostname、appBa、docBa、日志 prefix 为你实际的即可。

a. 可以将不同 rvice 组件的 Engine name 都指定成 Catalina。
b. 可以将不同 rvice 组件的 Host appBa 指定成默认的 webapps。
c. <Context docBa="/data/java/appstore-web" path="" reloadable="true" /> 这个用于配置根路径项目,也就是 /data/java/appstore-web 包访问时是通过 ip:port 来访问,而不是传统的 ip:port/app

假设:
第一个tomcat文件夹为tomcat8-1,路径为 /home/tomcat8-1/
第二个tomcat文件夹为tomcat8-2,路径为 /home/tomcat8-2/
分别修改 tomcat 文件夹 /conf 目录下 rver.xml 的监听端口为不同端口。
分别启动 tomcat 文件夹 /bin 目录下的 startup.sh 启动tomcat,停止同上文。
即可运行多个tomcat。

注:根据官方文档 tomcat8.5 且 JAVA7 及其以上才支持 SNI。如果 tomcat 版本较低且需要绑定多个域名情况下,建议使用反向代理方式部署 HTTPS。
在 <Connector port="8080"> 配置字段下新增 443 端口监听设置即可。
注:若IIS反向代理tomcat绑定https时,选择上启用SSL卸载。以免tomcat未配置HTTPS访问的情况下请求得不到正常响应。
如:

修改配置文件 tomcat路径/conf/tomcat-urs.xml :

Tomcat配置和启动

webapps 部署服务用的

startup.bat启动Tomcat的预处理文件(Windows下启动)

startup.sh Tomcat启动文件(Linux下启动)

shutdown.bat Windows

shutdown.sh Linux

conf 下的文件(配置文件)

配置文件:

context.xml 数据源的时候用到

rver.xml 端口号 字符集设置

lib

Tomcat运行用的 jar 文件 和 jar包

logs 存储的日志文件(运维管理日志文件)

temp 存储Tomcat运行时的临时文件

webapps web程序的存放位置!!!

work web项目程序运行时的缓存文件

/bin 存放各种平台下用于启动和停止Tomcat的脚本文件

/conf 存放Tomcat服务器的各种配置文件

/lib 存放Tomcat服务器所需的各种jar文件

/logs 存放Tomcat的日志文件

/temp Tomcat运行时用于存放临时文件

/webapps 当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中

/work Tomcat把由JSP生成的Servlet放于此目录下

操作Tomcat注意事项

(1)startup.bat启动后,不许关闭,一定是最小化

(2)启动时,窗口一闪而过

jdk 路径

环境变量path 路径\bin;

环境变量 JAVA_HOME :jdk路径

CTRL+C快速停止Tomcat

(3) http://localhost:8080/

访问本机地址 8080是端口号

端口号修改 conf/rver.xml

如何在Tomcat中部署静态网站

复制到 webapps 文件夹中

tomcat的线程配置

首先,这和tomcat的使用的IO模式有关

关于Java IO模式、以及IO处理的线程模型等基础的通信框架的知识,是Java程序员的重要、必备的内功,具体请参见尼恩编著的《Netty、Zookeeper、Redis高并发实战》一书,这里不做过多的赘述。
其次,也和tomcat的配置参数有关

尤其是以下三个配置项:maxConnections、maxThreads、acceptCount。

Tomcat的maxConnections、maxThreads、acceptCount三大配置,分别表示最大连接数,最大线程数、最大的等待数,可以通过application.yml配置文件来改变这个三个值,一个标准的示例如下:

tomcat中maxConnections、maxThreads、acceptCount的具体含义是什么呢?参考官方文档,对三者的含义说明如下:

官方文档的说明为:当所有的请求处理线程都在使用时,所能接收的连接请求的队列的最大长度。当队列已满时,任何的连接请求都将被拒绝。accept-count的默认值为100。
详细的来说:当调用HTTP请求数达到tomcat的最大线程数时,还有新的HTTP请求到来,这时tomcat会将该请求放在等待队列中,这个acceptCount就是指能够接受的最大等待数,默认100。如果等待队列也被放满了,这个时候再来新的请求就会被tomcat拒绝(connection refud)。

每一次HTTP请求到达Web服务,tomcat都会创建一个线程来处理该请求,那么最大线程数决定了Web服务容器可以同时处理多少个请求。maxThreads默认200,肯定建议增加。但是,增加线程是有成本的,更多的线程,不仅仅会带来更多的线程上下文切换成本,而且意味着带来更多的内存消耗。JVM中默认情况下在创建新线程时会分配大小为1M的线程栈,所以,更多的线程异味着需要更多的内存。线程数的经验值为:1核2g内存为200,线程数经验值200;4核8g内存,线程数经验值800。

官方文档的说明为:

这个参数是指在同一时间,tomcat能够接受的最大连接数。对于Java的阻塞式BIO,默认值是maxthreads的值;如果在BIO模式使用定制的Executor执行器,默认值将是执行器中maxthreads的值。对于Java 新的NIO模式,maxConnections 默认值是10000。
对于windows上APR/native IO模式,maxConnections默认值为8192,这是出于性能原因,如果配置的值不是1024的倍数,maxConnections 的实际值将减少到1024的最大倍数。
如果设置为-1,则禁用maxconnections功能,表示不限制tomcat容器的连接数。
maxConnections和accept-count的关系为:当连接数达到最大值maxConnections后,系统会继续接收连接,但不会超过acceptCount的值。

用一个形象的比喻,通俗易懂的解释一下tomcat的最大线程数(maxThreads)、最大等待数(acceptCount)和最大连接数(maxConnections)三者之间的关系。

我们可以把tomcat比做一个火锅店,流程是取号、入座、叫服务员,可以做一下三个形象的类比:
(1)acceptCount 最大等待数
可以类比为火锅店的排号处能够容纳排号的最大数量;排号的数量不是无限制的,火锅店的排号到了一定数据量之后,服务往往会说:已经客满。
(2)maxConnections 最大连接数
可以类比为火锅店的大堂的餐桌数量,也就是可以就餐的桌数。如果所有的桌子都已经坐满,则表示餐厅已满,已经达到了服务的数量上线,不能再有顾客进入餐厅了。
(3)maxThreads:最大线程数
可以类比为厨师的个数。每一个厨师,在同一时刻,只能给一张餐桌炒菜,就像极了JVM中的一条线程。

(1)取号:如果maxConnections连接数没有满,就不需要取号,因为还有空余的餐桌,直接被大堂服务员领上餐桌,点菜就餐即可。如果 maxConnections 连接数满了,但是取号人数没有达到 acceptCount,则取号成功。如果取号人数已达到acceptCount,则拿号失败,会得到Tomcat的Connection refud connect 的回复信息。
(2)上桌:如果有餐桌空出来了,表示maxConnections连接数没有满,排队的人,可以进入大堂上桌就餐。
(3)就餐:就餐需要厨师炒菜。厨师的数量,比顾客的数量,肯定会少一些。一个厨师一定需要给多张餐桌炒菜,如果就餐的人越多,厨师也会忙不过来。这时候就可以增加厨师,一增加到上限maxThreads的值,如果还是不够,只能是拖慢每一张餐桌的上菜速度,这种情况,就是大家常见的“上一道菜吃光了,下一道菜还没有上”尴尬场景。


如何配置Tomcat服务器环境

一、安装JDK和Tomcat

1,安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可。

备注:路径可以其他盘符,不建议路径包含中文名及特殊符号。

2、安装Tomcat:直接解压缩下载文件“apache-tomcat-7.0.33-windows-x86.zip”到C盘下。安装路径建议修改为:c: omcat。

备注:如下载的是可执行文件,双击运行,默认安装即可。

二、配置JDK环境变量(在步骤查看如何配置环境变量)

1,新建变量名:JAVA_HOME,变量值:C:Program FilesJavajdk1.7.0

2,打开PATH,添加变量值:%JAVA_HOME%in;%JAVA_HOME%jrein

3,新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar

备注:

1,.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;

2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclip等的运行都需要依靠此变量。

3,PATH使得系统可以在任何路径下识别java命令。

4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。

三、测试JDK

在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。

四、配置Tomcat环境变量

1,新建变量名:CATALINA_BASE,变量值:C: omcat

2,新建变量名:CATALINA_HOME,变量值:C: omcat

3,打开PATH,添加变量值:%CATALINA_HOME%lib;%CATALINA_HOME%in

五、启动Tomcat服务

方法三种:
1,方法一:直接进入tomcat的bin目录中点击startup.bat启动服务,出现如下对话框,表明服务启动成功,stutdown.bat为关闭服务。

2,方法二:在CMD命令下输入命令:startup,出现如下对话框,表明服务启动成功。

3,方法三:右键点击桌面上的“我的电脑”->“管理”->“服务和应用程序”->“服务”,找到“Apache Tomcat”服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”改成“自动”。

六、测试Tomcat

打开浏览器,在地址栏中输入http://localhost:8080回车,如果看到Tomcat自带的一个JSP页面,说明你的JDK和Tomcat已搭建成功。

注意事项

1,JAVA_HOME中的路径不能用分号结尾,如C:Program FilesJavajdk1.7.0。

2,CATALINA_BASE,CATALINA_HOME,TOMCAT_HOME中的路径不能以“”结尾。

3,JAVA_HOME的路径一定不要写成了JRE的路径。

4,在环境变量中修改添加变量时,一定要注意分号、空格,是否有多余的字母。作者就是因为path路径中多了一个字母,怎么都配置不成功。如果配置不成功,一定要反复检查。

以上错误,非常容易出现错误:CATALINA_HOME或是JAVA_HOME没有配置好。如错误提示“The CATALINA_HOME environment variable is not defined correctly”

项目部署方式

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中
Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclip等。也可以用cmd命令:jar -cvf mywar.war myweb
webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的rver.xml文件,找到下面内容:

<Host name="localhost" appBa="webapps"

unpackWARs="true" autoDeploy="true"

xmlValidation="fal" xmlNamespaceAware="fal">

将appBa修改即可。
2、在rver.xml中指定
在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在rver.xml中新建Context里部署一个JSP应用程序。打开rver.xml文件,在Host标签内建一个Context,内容如下。

在tomcat中的conf目录中,在rver.xml中的,<host/>节点中添加:
<Contextpath="/hello"docBa="D: workspacehelloWebRoot"debug="0"privileged="true">
< /Context>

或者

<Contextpath="/myapp"reloadable="true"docBa="D:myapp"workDir="D:myappwork"/>

或者

<Contextpath="/sms4"docBa="D:workspacesms4WebRoot"/>


说明:

path是虚拟路径;

docBa是应用程序的物理路径;

workDir是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

debug则是设定debug level, 0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib和/WEB-INF/class目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署

antiResourceLocking和antiJARLocking 热部署是需要配置的参数,默认fal避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件
在conf目录中,新建Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,要和path后的那个名字一致,按照下边这个path的配置,xml的名字应该就应该是hello(hello.xml),该xml文件的内容为:

<Context path="/hello" docBa="E:workspacehelloWebRoot" debug="0" privileged="true"></Context>

tomcat自带例子如下:

<Context docBa="${catalina.home}/rver/webapps/host-manager"

privileged="true" antiResourceLocking="fal" antiJARLocking="fal">

</Context>

这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。

4、注意:

删除一个Web应用同时也要删除webapps下相应的文件夹和rver.xml中相应的Context,还要将Tomcat的confcatalinalocalhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

二 动态部署

登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。

在Context Path(option):中输入/yourwebname,这代表你的应用的访问地址。

XML Configration file URL中要指定一个xml文件,比如我们在F:下建立一个hmcx.xml文件,内容如下:<Context reloadable="fal" />其中docBa不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。


如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。


怎么配置tomcat

首先,下载一个 Tomcat 放在你的硬盘上,例如,下载一个 Tomcat 6.x 放在 E: 盘
第一种方法:在 Servers 窗口配置 Tomcat
1、在 Servers 窗口中的空白处点右键 >> Configure Server Connector 打开配置窗口
2、在新窗口左边的导航中依层次选中 MyEclip >> Servers >> Tomcat >> Tomcat 6.x
3、在右边点击 Tomcat home directory 那一行的 Browr 按钮,找到你下载的 Tomcat 所在的文件夹,点OK
4、将面板上边的 Disable 改为 Enable ,再点击 OK,你就会在你的Servers窗口中看到你的Tomcat了

第二种方法:如果你的 MyEclip 中没有 Servers窗口
1、点击菜单栏 Window >> Preferences >> MyEclip >> Servers >> Tomcat >> Tomcat 6.x
2、剩下的跟一种一样
3、配置完成后点击 Window >> Show View >> Servers 可以调出Servers窗口

注释:配置好Tomcat后,新建一个WebProject,在Servers窗口空白处点右键 >> Add Deployment... 将项目部署进Tomcat
对着Tomcat点右键 >> Run Server 即可运行项目


Tomcat使用线程池配置高并发连接

1:配置executor属性

打开/conf/rver.xml文件,在Connector之前配置一个线程池:

重要参数说明:name :共享线程池的名字。这是Connector为了共享线程池要引用的名字,该名字必须唯一。默认值:None; namePrefix :在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-; maxThreads :该线程池可以容纳的最大线程数。默认值:200; maxIdleTime :在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程。默认值:60000(一分钟)。 minSpareThreads :Tomcat应该始终打开的最小不活跃线程数。默认值:25。

2:配置Connector

重要参数说明:executor :表示使用该参数值对应的线程池; minProcessors :服务器启动时创建的处理请求的线程数; maxProcessors :最大可以创建的处理请求的线程数; acceptCount :指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。

一.Tomcat内存优化

Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置JAVA_OPTS 参数。

1.JAVA_OPTS参数说明

现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:

在cygwin=fal前添加

配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:

首先查看Tomcat 进程号:

result

我们可以看到Tomcat 进程号是27698 。

查看是否配置生效:

能在输出的信息中找到Heap Configuration中看到MaxHeapSize 等参数已经生效。

二.Tomcat并发优化

1.Tomcat连接相关参数

在Tomcat 配置文件 rver.xml 中的 配置中

1.参数说明

minProcessors :最小空闲连接线程数,用于提高系统处理性能,默认值为 10 maxProcessors :最大连接线程数,即:并发处理的最大请求数,默认值为 75 acceptCount :允许的最大连接数,应大于等于 maxProcessors ,默认值为 100 enableLookups :是否反查域名,取值为: true 或 fal 。为了提高处理能力,应设置为 fal connectionTimeout :网络连接超时,单位:毫秒。设置为 0 表示永不超时,这样设置有隐患的。通常可设置为 30000 毫秒。其中和最大连接数相关的参数为maxProcessors 和 acceptCount 。如果要加大并发连接数,应同时加大这两个参数。web rver允许的最大连接数还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右, Linux是 1000 个左右。

2.Tomcat中的配置示例

2.调整连接器connector的并发处理能力

1.参数说明

maxThreads :客户请求最大线程数 minSpareThreads :Tomcat初始化时创建的 socket 线程数 maxSpareThreads :Tomcat连接器的最大空闲 socket 线程数 enableLookups :若设为true, 则支持域名解析,可把 ip 地址解析为主机名 redirectPort :在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口 acceptAccount :监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads ) connectionTimeout :连接超时 minProcessors :服务器创建时的最小处理线程数 maxProcessors :服务器同时最大处理线程数 URIEncoding :URL统一编码

2.Tomcat中的配置示例

3.Tomcat缓存优化

1.参数说明

compression :打开压缩功能 compressionMinSize :启用压缩的输出内容大小,这里面默认为2KB compressableMimeType :压缩类型 connectionTimeout :定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间

2.Tomcat中的配置示例

4.参考配置

1.旧有的配置

参考网络对服务器做过如下配置,拿出来分享下:

后来发现在访问量达到3 百万多的时候出现性能瓶颈。

2.更改后的配置


本文发布于:2023-02-28 20:28:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/zhishi/a/167767754287200.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:tomcat 配置(tomcat配置文件).doc

本文 PDF 下载地址:tomcat 配置(tomcat配置文件).pdf

标签:配置文件   tomcat
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 实用文体写作网旗下知识大全大全栏目是一个全百科类宝库! 优秀范文|法律文书|专利查询|