下载安装包
Tomcat:
https://dlcdn.apache.org/tomcat/
javaJDK
https://www.oracle.com/cn/java/technologies/downloads
将下好的安装包传到服务器/tmp/目录。
安装JKD1.8
创建目录
mkdir /usr/local/jdk1.8解压缩到指定目录(以jdk-8u144-linux-x64.tar.gz为例)
tar -xvf jdk-8u144-linux-x64.tar.gz -C /usr/local/jdk1.8/修改环境变量
sudo vim ~/.bashrc在文件末尾追加下面内容:
#set oracle jdk environment
export JAVA_HOME=/usr/local/jdk1.8 ## 这里要注意目录要换成自己解压的jdk 目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH 使环境变量马上生效:
source ~/.bashrc系统注册此jdk
sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8/bin/java 300
# /usr/local/jdk1.8/bin/java是刚刚安装的路径查看java版本,看看是否安装成功:
java -version如果你安装了多个版本的jdk,你可以通过以下命令在这些版本之间切换:
sudo update-alternatives –config javaJDK17没有jre目录的解决方案
安装jdk17成功,运行Tomcat11报错
The JRE_HOME environment variable is not defined correctly
JRE_HOME=/usr/local/jdk-17/jdk-17.0.11/jre
This environment variable is needed to run this program
百度
从JDK9开始, 引入了模块化, 可以根据自己的需要生成一个runtime, 所以就不再单独提供jre了
得把所谓的jre和模块搞出来~
以jdk在 /usr/local/jdk-17 为例
cd /use/local/jdk-17运行以下指令
./bin/jlink --module-path jmods --add-modules java.desktop --output jre之后生成jre目录和文件
好,运行Tomcat
root@ixjkj-standard-pc-i440fx-piix-1996-1:/usr/local/tomcat-11/apache-tomcat-11.0.0-M19/bin# ./startup.sh
Using CATALINA_BASE: /usr/local/tomcat-11/apache-tomcat-11.0.0-M19
Using CATALINA_HOME: /usr/local/tomcat-11/apache-tomcat-11.0.0-M19
Using CATALINA_TMPDIR: /usr/local/tomcat-11/apache-tomcat-11.0.0-M19/temp
Using JRE_HOME: /usr/local/jdk-17/jdk-17.0.11/jre
Using CLASSPATH: /usr/local/tomcat-11/apache-tomcat-11.0.0-M19/bin/bootstrap.jar:/usr/local/tomcat-11/apache-tomcat-11.0.0-M19/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.好像启动了~
查看汤姆猫运行日志cat catalina.out又报错误
root@ixjkj-standard-pc-i440fx-piix-1996-1:/usr/local/tomcat-11/apache-tomcat-11.0.0-M19/logs# cat catalina.out
WARNING: Unknown module: java.rmi specified to --add-opens
Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger
at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61)
at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:133)
at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:156)
at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:211)
at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:49)
Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
... 6 more

继续来百度……
修改 /etc/profile文件
nano /etc/profile加入变量
在文件末尾追加下面内容:
# /etc/profile文件末添加如下, 解决jre找不到的问题
JAVA_HOME=/usr/local/jdk-17/
JRE_HOME=$JAVA_HOME
CLASSPATH=$JAVA_HOME/lib
PATH=$JRE_HOME/bin:$JAVA_HOME/bin:$PATH
export PATH JAVA_HOME CLASSPATH使环境变量马上生效:
source /etc/profile安装Tomcat
下载并上传Tomcat压缩包到服务器/tmp目录为例
创建目录
mkdir /usr/local/tomcat-9解压缩到/usr/local/tomcat-9/目录下
tar -xvf apache-tomcat-9.0.88.tar.gz -C /usr/local/tomcat-9/执行 startup.sh 文件
下面进入到 Tomcat 文件夹的 bin 目录,执行 startup.sh 文件
执行这个文件有两种方式,任选其一:
sh startup.sh
./startup.sh验证Tomcat启动是否成功
- 查看启动日志
使用命令查看 Tomcat 安装目录下的 logs 目录下的 catalina.out 文件,这个是Tomcat的日志文件。
可以使用以下任一命令查看:
cat catalina.out
more catalina.out
tail -50 catalina.out启动时遇到的问题 - catalina.out 文件报错java.io.EOFException:
意思大概就是上次启动了Tomcat未正常关闭,这次启动找不到上次启动的项目的Session
但是我根本没有部署过项目,很迷!,但是这里不影响使用。
- 查看启动进程
使用如下命令查看是否有Tomcat 的启动进程,如果有,有对应的进程号:
ps -ef | grep tomcat访问 Tomcat 服务
localhost:8080
停止 Tomcat 服务
可以使用下面的方式停止Tomcat服务:
sh shutdown.sh或者执行这个命令:
./shutdown.sh如果执行上面的命令失败了,使用下面的命令结束 Tomcat 进程:
首先查询 Tomcat 进程:
ps -ef | grep tomcat强制杀死进程(不推荐):
kill -9 进程号
#多的话全kill了
kill -9 `ps -ef|grep tomcat|grep -v grep|awk '{print $2}'`
评论 (0)