Linux环境下Tomcat升级注意事项
sudo systemctl stop tomcat),备份以下内容:
/etc/tomcat/conf(或原安装目录的conf目录,如/usr/local/tomcat/conf),重点保留server.xml(连接器配置、虚拟主机)、web.xml(全局Web应用配置)、tomcat-users.xml(用户权限);/var/lib/tomcat/webapps(或原webapps目录),包含所有部署的WAR包及应用目录;/var/log/tomcat(运行日志)、/var/lib/tomcat/temp(临时文件)、/var/lib/tomcat/work(编译缓存);mysqldump或pg_dump导出数据库(如mysqldump -u root -p mydb > mydb_backup.sql)。/usr/local):cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.76/bin/apache-tomcat-9.0.76.tar.gz
tar -zxvf apache-tomcat-9.0.76.tar.gz -C /usr/local/
mv /usr/local/apache-tomcat-9.0.76 /usr/local/tomcat # 保持目录名一致
conf目录下的自定义配置文件复制到新版本conf目录(覆盖同名文件前需对比差异,如server.xml中的端口、虚拟主机配置):cp -r /usr/local/tomcat_old/conf/server.xml /usr/local/tomcat/conf/
cp -r /usr/local/tomcat_old/conf/web.xml /usr/local/tomcat/conf/
cp -r /usr/local/tomcat_old/conf/tomcat-users.xml /usr/local/tomcat/conf/
webapps目录下的应用(WAR包或解压后的目录)复制到新版本webapps目录,Tomcat启动时会自动解压WAR包。/usr/local/tomcat/bin/startup.sh),通过日志文件确认启动状态:tail -f /usr/local/tomcat/logs/catalina.out
日志中无ERROR或SEVERE级别的错误(如类加载失败、端口冲突)即为启动成功。http://服务器IP:8080,确认欢迎页面显示正常;http://服务器IP:8080/myapp),验证登录、接口调用等功能是否正常;manager应用(/manager/html),需确认tomcat-users.xml中配置了manager-gui角色(如<role rolename="manager-gui"/>)。lsof -i :8080查看占用进程,杀死进程(kill -9 PID)或修改server.xml中的Connector端口(如将8080改为8081)。ClassNotFoundException或UnsupportedClassVersionError,需检查:
webapps/应用/WEB-INF/lib下的旧JAR包);java -version确认当前Java版本是否符合Tomcat要求)。bin目录下的脚本是否有执行权限(chmod +x /usr/local/tomcat/bin/*.sh);若日志提示“Permission denied”,需确认Tomcat用户(如tomcat)对webapps、logs、temp、work目录有读写权限(chown -R tomcat:tomcat /usr/local/tomcat)。