暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

中间件Tomcat日常运维操作手册

原创 Ta10nK1n9 云和恩墨 2022-09-20
1844

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

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论