Tomcat8版本升级教程
Tomcat8版本升级教程
前言:由于项目是java8开发运行项目,部署环境使用tomcat服务器,java8对应tomcat版本也是8系列,高版本tomcat不兼容java8!
现在tomcat官网已经不再维护tomcat8,首页也没有tomcat8入口,最近tomcat发布漏洞通知,以下是详细升级教程!
一、漏洞报告
1、漏洞名称
Apache Tomcat 环境问题漏洞(CVE-2023-46589)。
2、漏洞描述
Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer Page(JSP)的支持。
Apache Tomcat存在环境问题漏洞,该漏洞源于存在不正确的输入验证漏洞,可能会导致将单个请求视为多个请求,从而在反向代理后面出现请求走私。
3、修复建议
目前厂商已发布升级补丁以修复漏洞,建议受影响的用户,及时升级至安全版本:
8.5.x 用户,建议升级至8.5.96及以上版本;
9.0.x 用户,建议升级至9.0.82及以上版本;
10.1.x 用户,建议升级至10.1.15及以上版本;
11.0.x 用户,建议升级至11.0.0-M10及以上版本。
参考链接:https://tomcat.apache.org/
二、下载新版本Tomcat
第一步:访问tomcat官网(https://tomcat.apache.org/),可以看到首页已经没有Tomcat8下载入口,找到版本最接近的下载入口(Tomcat9),点击进入。

第二步:点击存档Archives,会跳转到tomcat9历史版本更新记录页面。

第三步:点击父目录Parent Directory,这样会进入tomcat各个大版本页面。

第四步:选择tomcat-8点击进入,就可以看到tomcat8各个小版本,我选择的是tomcat8.5.99版本。


第五步:选择bin文件夹点击进入,选择对应系统的安装包下载即可,linux系统选择的是apache-tomcat-8.5.99.tar.gz 安装包。


三、升级tomcat
1、把下载好的安装包上传到服务器,使用tar -zxvf apache-tomcat-8.5.99.tar.gz 命令解压。


2、关闭正在运行的tomcat
#查询tomcat进程,并停止tomcat
ps -ef | grep tomcat
kill -9 405648

3、备份tomcat目录
#创建备份目录
mkdir -p /mnt/tomcat/tomcat-back
#备份旧tomcat
cp -Rf /mnt/tomcat/apache-tomcat-8.5.90/* /mnt/tomcat/tomcat-back/

4、复制tomcat旧配置和java项目资源到新tomcat目录下
cp -Rf /mnt/tomcat/apache-tomcat-8.5.90/conf/* /mnt/tomcat/apache-tomcat-8.5.99/conf/

进入新的tomcat目录下,创建java项目部署目录,我的项目部署文件都放在resources目录下。
mkdir -p ./resources

复制java项目部署目录所有文件
cp -Rf /mnt/tomcat/apache-tomcat-8.5.90/resources/* /mnt/tomcat/apache-tomcat-8.5.99/resources/

5、修改tomcat环境变量配置
命令:
vim /etc/profile
按i键进入输入模式,在最下面添加以下几行代码,根据自己的tomcat解压安装目录修改填写:
export TOMCAT_HOME=/mnt/tomcat/apache-tomcat-8.5.99
编辑完成按ESC键退出输入模式,输入:wq 保存退出;
最后执行 source /etc/profile 命令,使该文件生效;
source /etc/profile
6、启动tomcat
进入bin目录下:
./startup.sh 启动
./shutdown.sh 停止
查看是否启动成功:ps -ef |grep tomcat

查看日志是否启动成功
tail -f ../logs/catalina.out
