Tomcat服务启停
启动Tomcat服务
进入$CATALINA_HOME/bin目录下,运行tomcat服务启动脚本,具体示例如下:
# cd /tomcat/apache-tomcat-8.5.78_8080/bin
# ./startup.sh
Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.78_8080
Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.78_8080
Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.78_8080/temp
Using JRE_HOME: /usr/java/openjdk/openjdk-8u232-b09
Using CLASSPATH: /tomcat/apache-tomcat-8.5.78_8080/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.78_8080/bin/tomcat-juli.jar
Tomcat started.
停止Tomcat服务
进入$CATALINA_HOME/bin目录下,运行tomcat停止脚本,具体示例如下:
# cd /tomcat/apache-tomcat-8.5.78_8080/bin
# ./shutdown.sh
Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.78_8080
Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.78_8080
Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.78_8080/temp
Using JRE_HOME: /usr/java/openjdk/openjdk-8u232-b09
Using CLASSPATH: /tomcat/apache-tomcat-8.5.78_8080/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.78_8080/bin/tomcat-juli.jar
Tomcat基本信息查看
查看Tomcat版本信息
进入$CATALINA_HOME/bin目录下,运行version.sh脚本查看tomcat版本信息,具体示例如下:
# cd /tomcat/apache-tomcat-8.5.78_8080/bin
# ./version.sh
Using CATALINA_BASE: /tomcat/apache-tomcat-8.5.78
Using CATALINA_HOME: /tomcat/apache-tomcat-8.5.78
Using CATALINA_TMPDIR: /tomcat/apache-tomcat-8.5.78/temp
Using JRE_HOME: /usr/java/openjdk/openjdk-8u232-b09
Using CLASSPATH: /tomcat/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.78/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Server version: Apache Tomcat/8.5.78
Server built: Mar 31 2022 16:05:28 UTC
Server number: 8.5.78.0
OS Name: Linux
OS Version: 3.10.0-957.el7.x86_64
Architecture: amd64
JVM Version: 1.8.0_232-b09
JVM Vendor: Oracle Corporation
查看Tomcat进程信息
查看Tomcat进程是否存在,具体示例如下:
# ps -ef|grep tomcat|grep -v grep
tomcat 95772 1 20 11:02 pts/2 00:00:06 /usr/java/openjdk/openjdk-8u232-b09/bin/java -Djava.util.logging.config.file=/tomcat/apache-tomcat-8.5.78/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Xms2048m -Xmx2048m -Xmn1024m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -Xloggc:/tomcat/apache-tomcat-8.5.78/logs/gc.95765.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseG1GC -XX:HeapDumpPath=/tomcat/apache-tomcat-8.5.78/logs/heapdump.95765.hprof -XX:ErrorFile=/tomcat/apache-tomcat-8.5.78/logs/hs_err_pid95765.log -XX:+ExplicitGCInvokesConcurrent -XX:CMSInitiatingOccupancyFraction=60 -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:MaxTenuringThreshold=15 -XX:SurvivorRatio=8 -XX:ParallelGCThreads=16 -XX:+HeapDumpOnOutOfMemoryError -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /tomcat/apache-tomcat-8.5.78/bin/bootstrap.jar:/tomcat/apache-tomcat-8.5.78/bin/tomcat-juli.jar -Dcatalina.base=/tomcat/apache-tomcat-8.5.78 -Dcatalina.home=/tomcat/apache-tomcat-8.5.78 -Djava.io.tmpdir=/tomcat/apache-tomcat-8.5.78/temp org.apache.catalina.startup.Bootstrap start
查看Tomcat端口信息
使用命令查看Tomcat监听端口信息,具体示例如下:
# netstat -anop|grep 95772 (95772是Tomcat进程ID)
tcp6 0 0 :::8080 :::* LISTEN 95772/java off (0.00/0/0)
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 95772/java off (0.00/0/0)
Tomcat应用部署
在Tomcat部署应用可以通过三种方式实现,具体实现如下:
应用部署方式一
使用Tomcat自动部署方式是最简单的、最常用的方式。
1)通过查看$CATALINA_HOME/conf/server.xml文件确认Tomcat自动部署目录,默认部署目录为$CATALINA_HOME/webapps,配置内容如下:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
2)确认部署目录后,将应用程序直接放到部署目录下即可。
3) 测试应用页面是否可以可以正常访问:
应用部署方式二
此方式是通过增加自定义的web部署文件实现应用部署,具体步骤如下:
1)创建web_demo.xml文件,具体示例内容如下:
<Context path="/web_demo" reloadable="true" docBase="/home/tomcat/app/web_demo.war" workDir="/home/tomcat/app/work"/>
参数含义:
- workDir表示将该Web应用部署后置于的工作目录(Web应用中JSP编译成的Servlet都可在其中找到),如果自定义web部署文件XXX.xml中未指明workdir,则web应用将默认部署在$CATALINA_HOME/work/Catalina/localhost路径下新建的以XXX命名的文件夹下。(Web应用中JSP编译成的Servlet都可在其中找到)
- path即指定web应用的虚拟路径名。
- docBase指定要部署的Web应用的源路径。
2)将定义好的web_demo.xml文件放在$CATALINA_HOME/conf/Catalina/localhost目录下,重启Tomcat服务即可完成应用部署;
3)测试应用页面是否可以可以正常访问:
应用部署方式三
此方式是通过修改$CATALINA_HOME/conf/server.xml配置文件实现应用部署的,具体步骤如下:
1)编辑$CATALINA_HOME/conf/server.xml配置文件,添加如下内容到<Host></Host>元素中;
具体示例内容如下:
<Context path="/web_demo" reloadable="true" docBase="/home/tomcat/app/web_demo.war" workDir="/home/tomcat/app/work"/>
2)重启Tomat服务即可完成应用部署;
3)测试应用页面是否可以可以正常访问:
Tomcat日志查看
Tomcat日志存放目录默认为$CATALINA_HOME/logs,日志主要包括:服务器⽇志、HTTP 访问⽇志、Web应用日志;
- 服务器⽇志- catalina.out : 当前⽇志输出⽂件; catalina.${date}.log : 包含归档的⽇志⽂件
- HTTP 访问⽇志 - localhost_access_log.${date}.txt
- Web 应⽤⽇志 - localhost.${date}.log
catalina.out
catalina.out即标准输出和标准出错,所有输出到这两个位置的都会进入catalina.out,这里包含tomcat运行自己输出的日志以及应用里向console输出的日志。
查看catalina.out日志示例:
# cd /tomcat/apache-tomcat-8.5.78/logs
# more catalina.out
catalina.YYYY-MM-DD.log
catalina.{yyyy-MM-dd}.log是tomcat自己运行的一些日志,这些日志还会输出到catalina.out,但是应用向console输出的日志不会输出到catalina.{yyyy-MM-dd}.log,它是tomcat的启动和暂停时的运行日志,注意,它和catalina.out是里面的内容是不一样的。
查看catalina.{yyyy-MM-dd}.log日志示例:
# cd /tomcat/apache-tomcat-8.5.78/logs
# more catalina.2022-04-19.log
localhost.YYYY-MM-DD.log
localhost.{yyyy-MM-dd}.log主要是应用初始化(listener, filter, servlet)未处理的异常最后被tomcat捕获而输出的日志,它也是包含tomcat的启动和暂停时的运行日志,但它没有catalina.2018-09-19.log 日志全。它只是记录了部分日志。
查看localhost.{yyyy-MM-dd}.log日志示例:
# cd /tomcat/apache-tomcat-8.5.78/logs
# more localhost.2022-04-19.log
localhost_access_log.YYYY-MM-DD.txt
localhost_access_log.YYYY-MM-DD.txt是tomcat的访问日志,请求时间和资源,状态码都有记录。
查看localhost_access_log.YYYY-MM-DD.txt日志示例:
# cd /tomcat/apache-tomcat-8.5.78/logs
# more localhost_access_log.2022-04-19.txt




