Linux下Tomcat的几种运行方式讲解

服务器开发的日子 2019-04-01

Linux下Tomcat的启动、关闭

在Linux系统下,启动和关闭Tomcat使用命令操作。

进入Tomcat下的bin目录

cd /java/tomcat/bin

启动Tomcat命令

./startup.sh

停止Tomcat服务命令

./shutdown.sh

执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程。网上看了下导致僵尸进程的原因可能是有非守护线程(即User Thread)存在,jvm不会退出(当JVM中所有的线程都是守护线程的时候,JVM就可以退出了;如果还有一个或以上的非守护线程则JVM不会退出)。通过一下命令查看Tomcat进程是否结束:

ps -ef|grep tomcat

若显示一下相似信息,说明Tomcat进程未结束

gateway  14705 14703 12 08:29 pts/0    00:03:10 /www/websoft/java/java1/jdk1.7.0_25/jre/bin/java -Djava.util.logging.config.file=/www/websoft/tomcat1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -server -Xms1536m -Xmx1536m -Xss256k -XX:MaxPermSize=512m -XX:+UseParallelGC -XX:ParallelGCThreads=20 -XX:+UseParallelOldGC -XX:MaxGCPauseMillis=100 -XX:+UseAdaptiveSizePolicy -Djava.endorsed.dirs=/endorsed -classpath /www/websoft/tomcat1/bin/bootstrap.jar:/www/websoft/tomcat1/bin/tomcat-juli.jar -Dcatalina.base=/www/websoft/tomcat1 -Dcatalina.home=/www/websoft/tomcat1 -Djava.io.tmpdir=/www/websoft/tomcat1/temp org.apache.catalina.startup.Bootstrap start

此时我们可强制结束该进程(僵尸进程)

kill -9 14705

上一命令执行完毕后,重新查看Tomcat进程情况,Tomcat已完全停止。

Linux上Tomcat的几种运行方式

Linux下tomcat服务的启动、关闭与错误跟踪,使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:

启动tomcat服务

方式一:

直接启动 ./startup.sh

方式二:

作为服务启动 nohup ./startup.sh &

方式三:

控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务

解释:

通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止;通过方式二可以作为linux服务一直运行。

通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况;

通过方式三可以以控制台模式启动tomcat服务,直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。tomcat控制台信息包括log4jSystem.out.println()等输出的信息。

相关推荐