Tomcat 8.x 升级到 8.5.81
命令操作用户以现场安装用户为准 (默认 isearch)
1. 基本准备
PS :主目录可以是 /isearch/、/test/ ,具体以现场实际情况为准,这里以 /test 为例
## 1.上传tomcat压缩包到主目录(这里以/test为例)
## 2.解压文件
## 2.1 unzip -d [需要解到的目录] [需要解压的文件]
unzip -d /test/ /test/apache-tomcat-8.5.81.zip
## 2.2 修改上传文件的权限
chown -R isearch:isearch /isearch/apache-tomcat-8.5.81
chmod +x -R /isearch/apache-tomcat-8.5.81
## 3. 复制文件
## 3.1 复制 server.xml文件(需要覆盖tomcat自带的文件)
cp /test/tomcat/conf/server.xml /test/apache-tomcat-8.5.81/conf/
## 3.2 复制webapp指向文件
cp -R /test/tomcat/conf/Catalina/ /test/apache-tomcat-8.5.81/conf/
## 4. 检查catalina.sh
## 4.1 检查旧版本tomcat的bin/catalina.sh文件中有没有下面的内容:
if [ "X$CATALINA_PID" = "X" ];then
CATALINA_PID=${ISA_INSTALL_HOME}/isa/conf/tomcat/tomcat.pid
fi
## 4.2 如果能找到上面的内容,需要在升级后手动把上面的3行内容添加到新tomcat的bin/下面的catalina.sh里(参考下面的截图)
## 4.3 没有可忽略
2. 升级
## tomcat停止服务
/test/bin/tomcat.sh stop
## 进入安装目录
cd /test
## 查看软连接信息(方便还原使用)
ll /test/ |grep tomcat
# 结果如下(主要看“tomcat”软连接指向的路径)
drwxrwxr-x. 9 test test 4096 7月 19 2019 apache-tomcat-8.5.56
drwxrwxr-x. 9 test test 4096 7月 19 2019 apache-tomcat-8.5.81
-rw-r--r--. 1 test test 10379806 5月 31 19:26 apache-tomcat-8.5.81.zip
lrwxrwxrwx. 1 test test 26 5月 2 14:01 tomcat -> /test/apache-tomcat-8.5.56
## 修改软连接
ln -snf /test/apache-tomcat-8.5.81 /test/tomcat
## 查看修改后的结果(与修改前做对比,主要看“tomcat”软连接指向的路径)
[test@localhost test]$ ll |grep tomcat
drwxrwxr-x. 9 test test 4096 5月 31 19:32 apache-tomcat-8.5.56
drwxrwxr-x. 9 test test 4096 5月 31 19:32 apache-tomcat-8.5.81
-rw-r--r--. 1 test test 10379806 5月 31 19:26 apache-tomcat-8.5.81.zip
lrwxrwxrwx. 1 test test 20 5月 31 19:50 tomcat -> /test/apache-tomcat-8.5.81
##启动tomcat
/test/bin/tomcat.sh start
3. 启动问题报错解决
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web application [] due to a StackOverflowError. Possible
root causes include a too low setting for -Xss and illegal cyclic inheritance dependencies.
此错误可直接修改 conf/catalina.properties 文件,把tomcat.util.scan.StandardJarScanFilter.jarsToSkip=\
改成tomcat.util.scan.StandardJarScanFilter.jarsToSkip=*,\
4. 修复 AJP 端口漏洞
## 编辑server.xml
vi /test/tomcat/conf/server.xml
## 注释AJP配置(如下图,如果已经注释,可忽略)
5. 还原
PS : 还原的时候注意还原成之前的版本号,下面是还原成 tomcat-8.5.56 的示例
## tomcat停止服务
/test/bin/tomcat.sh stop
## 进入安装目录
## 查看软连接信息(方便还原使用)
ll /test/ |grep tomcat
# 结果如下
drwxrwxr-x. 9 test test 4096 5月 31 19:32 apache-tomcat-8.5.56
drwxrwxr-x. 9 test test 4096 5月 31 19:32 apache-tomcat-8.5.81
-rw-r--r--. 1 test test 10379806 5月 31 19:26 apache-tomcat-8.5.81.zip
lrwxrwxrwx. 1 test test 20 5月 31 19:50 tomcat -> /test/apache-tomcat-8.5.81
## 修改软连接(这里是还原成之前的版本)
ln -snf /test/apache-tomcat-8.5.56 /test/tomcat
## 查看修改后的结果(与修改前做对比)
[test@localhost test]$ ll |grep tomcat
drwxrwxr-x. 9 test test 4096 7月 19 2019 apache-tomcat-8.5.56
drwxrwxr-x. 9 test test 4096 7月 19 2019 apache-tomcat-8.5.81
-rw-r--r--. 1 test test 10379806 5月 31 19:26 apache-tomcat-8.5.81.zip
lrwxrwxrwx. 1 test test 26 5月 2 14:01 tomcat -> /test/apache-tomcat-8.5.81
##启动tomcat
/test/bin/tomcat.sh start
tomcat-rest 可参 Tomcat-rest 8.x 升级到 8.5.69 。
我想问下 /isearch/bin/tomcat-rest.sh 这个 tomcat 需要跟着升级吗?有没有教程
解压成 apache-tomcat-8.5.60,压缩成 apache-tomcat-8.5.60.zip
tar.gz 上传不了。 😬
apache-tomcat-8.5.60.tar.gz.zip
这个包是压缩打包了几遍 😆