优秀的手机游戏下载!
首页 Tomcat配置和启动

Tomcat配置和启动

发布时间:2025-02-13 11:21:37 编辑:手游帝 浏览:469

webapps 部署服务用的

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

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

shutdown.bat Windows

shutdown.sh Linux

conf 下的文件(配置文件)

配置文件:

context.xml 数据源的时候用到

server.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/server.xml

如何在Tomcat中部署静态网站

复制到 webapps 文件夹中

tomcat的线程配置

一、安装JDK和Tomcat

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

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

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

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

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

1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.7.0

2,打开PATH,添加变量值:%JAVA_HOME%\bin%JAVA_HOME%\jre\bin

3,新建变量名:CLASSPATH,变量值:.%JAVA_HOME%\lib\dt.jar%JAVA_HOME%\lib\tools.jar

备注:

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

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

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

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

三、测试JDK

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

四、配置Tomcat环境变量

1,新建变量名:CATALINA_BASE,变量值:C:\tomcat

2,新建变量名:CATALINA_HOME,变量值:C:\tomcat

3,打开PATH,添加变量值:%CATALINA_HOME%\lib%CATALINA_HOME%\bin

五、启动Tomcat服务

方法三种:

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

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

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

六、测试Tomcat

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

注意事项

1,JAVA_HOME中的路径不能用分号结尾,如C:\Program     Files\Java\jdk1.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”

项目部署方式

Tomcat配置和启动

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中

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

webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:

&ltHost name=”localhost” appBase=”webapps”

unpackWARs=”true” autoDeploy=”true”

xmlValidation=”false” xmlNamespaceAware=”false”&gt

将appBase修改即可。 

2、在server.xml中指定

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

在tomcat中的conf目录中,在server.xml中的,&lthost/&gt节点中添加: 

&ltContext path=”/hello” docBase=”D:\ workspace\hello\WebRoot” debug=”0” privileged=”true”&gt 

&lt/Context&gt

或者

&ltContext path=”/myapp” reloadable=”true” docBase=”D:\myapp” workDir=”D:\myapp\work”/&gt

或者

&ltContext path=”/sms4” docBase=”D:\workspace\sms4\WebRoot”/&gt

说明:

path是虚拟路径;

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

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

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

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

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

antiResourceLocking和antiJARLocking  热部署是需要配置的参数,默认false避免更新了某个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文件的内容为:

&ltContext path=”/hello” docBase=”E:\workspace\hello\WebRoot” debug=”0” privileged=”true”&gt&lt/Context&gt

tomcat自带例子如下:

&ltContext docBase=”${catalina.home}/server/webapps/host-manager”

privileged=”true” antiResourceLocking=”false” antiJARLocking=”false”&gt

&lt/Context&gt

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

4、注意:

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

二 动态部署

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

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

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

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

首先,这和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 refused)。

每一次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 refused connect 的回复信息。

(2)上桌:如果有餐桌空出来了,表示maxConnections连接数没有满,排队的人,可以进入大堂上桌就餐。

(3)就餐:就餐需要厨师炒菜。厨师的数量,比顾客的数量,肯定会少一些。一个厨师一定需要给多张餐桌炒菜,如果就餐的人越多,厨师也会忙不过来。这时候就可以增加厨师,一增加到上限maxThreads的值,如果还是不够,只能是拖慢每一张餐桌的上菜速度,这种情况,就是大家常见的“上一道菜吃光了,下一道菜还没有上”尴尬场景。

以上就是关于Tomcat配置和启动全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

webapps 部署服务用的 startup.bat启动Tomcat的预处理文件(Windows下启动) startup.sh Tomcat启动文件(Linux…
查看详情
webapps 部署服务用的 startup.bat启动Tomcat的预处理文件(Windows下启动) startup.sh Tomcat启动文件(Linux…
查看详情
webapps 部署服务用的 startup.bat启动Tomcat的预处理文件(Windows下启动) startup.sh Tomcat启动文件(Linux…
查看详情
相关资讯
猜你喜欢